Difference between revisions of "Source:NetHack 1.4f/alloc.c"

From NetHackWiki
Jump to navigation Jump to search
m (Automated source code upload)
 
m (Automated source code upload)
Line 1: Line 1:
Below is the full text to '''alloc.c''' from the [[NetHack 1.4f source code|source code]] of [[NetHack 1.4f]]. To link to a particular line, write [[NetHack 1.4f/alloc.c#line123|<nowiki>[[NetHack 1.4f/alloc.c#line123]]</nowiki>]], for example.
+
The source code file '''alloc.c''' in [[NetHack 1.4f source code|NetHack 1.4f]] is unchanged from [[NetHack 1.3d/alloc.c]].
 
+
[[Category:NetHack 1.4f source code]]
'''Warning!''' This is the source code from an old release. For the latest release, see [[Source code]]
 
 
 
{{CWI}}
 
<span id="line1">1.    /* SCCS Id: @(#)alloc.c 1.3 87/07/14</span>
 
<span id="line2">2.    /* alloc.c - version 1.0.2 */</span>
 
<span id="line3">3.    #ifdef LINT</span>
 
<span id="line4">4.    </span>
 
<span id="line5">5.    /*</span>
 
<span id="line6">6.      a ridiculous definition, suppressing</span>
 
<span id="line7">7.    "possible pointer alignment problem" for (long *) malloc()</span>
 
<span id="line8">8.    "enlarg defined but never used"</span>
 
<span id="line9">9.    "ftell defined (in <stdio.h>) but never used"</span>
 
<span id="line10">10.      from lint</span>
 
<span id="line11">11.  */</span>
 
<span id="line12">12.  #include <stdio.h></span>
 
<span id="line13">13.  long *</span>
 
<span id="line14">14.  alloc(n) unsigned n; {</span>
 
<span id="line15">15.  long dummy = ftell(stderr);</span>
 
<span id="line16">16.  if(n) dummy = 0; /* make sure arg is used */</span>
 
<span id="line17">17.  return(&dummy);</span>
 
<span id="line18">18.  }</span>
 
<span id="line19">19.  </span>
 
<span id="line20">20.  #else</span>
 
<span id="line21">21.  </span>
 
<span id="line22">22.  extern char *malloc();</span>
 
<span id="line23">23.  extern char *realloc();</span>
 
<span id="line24">24.  </span>
 
<span id="line25">25.  long *</span>
 
<span id="line26">26.  alloc(lth)</span>
 
<span id="line27">27.  register unsigned lth;</span>
 
<span id="line28">28.  {</span>
 
<span id="line29">29.  register char *ptr;</span>
 
<span id="line30">30.  </span>
 
<span id="line31">31.  if(!(ptr = malloc(lth)))</span>
 
<span id="line32">32.  panic("Cannot get %d bytes", lth);</span>
 
<span id="line33">33.  return((long *) ptr);</span>
 
<span id="line34">34.  }</span>
 
<span id="line35">35.  </span>
 
<span id="line36">36.  #ifndef DGK</span>
 
<span id="line37">37.  long *</span>
 
<span id="line38">38.  enlarge(ptr,lth)</span>
 
<span id="line39">39.  register char *ptr;</span>
 
<span id="line40">40.  register unsigned lth;</span>
 
<span id="line41">41.  {</span>
 
<span id="line42">42.  register char *nptr;</span>
 
<span id="line43">43.  </span>
 
<span id="line44">44.  if(!(nptr = realloc(ptr,lth)))</span>
 
<span id="line45">45.  panic("Cannot reallocate %d bytes", lth);</span>
 
<span id="line46">46.  return((long *) nptr);</span>
 
<span id="line47">47.  }</span>
 
<span id="line48">48.  #endif</span>
 
<span id="line49">49.  </span>
 
<span id="line50">50.  #endif /* LINT /**/</span>
 
[[Category:NetHack 1.4f source code|alloc.c]]
 

Revision as of 20:41, 3 September 2006

The source code file alloc.c in NetHack 1.4f is unchanged from NetHack 1.3d/alloc.c.