🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c
Article #5781

Re: realloc

#5781
From: David Levine
Date: Wed, 29 Mar 1989 14:18
33 lines
2488 bytes
In article <10170@bloom-beacon.MIT.EDU> scs@adam.pika.mit.edu (Steve Summit) writes:
>                                  ... It is an apparently well-
>  kept secret that realloc is supposed to behave gracefully at
>  a slightly special-cased boundary point: when handed a NULL
>  pointer and a nonzero size, it acts essentially as a malloc.

The System V Interface Definition (which, despite its many flaws, IS
an established standard, unlike the pANS which is still only a "draft
proposed standard") doesn't require this behavior.  The documentation
for UNIX System V, BSD 4.3, and ULTRIX doesn't mention any special
behavior for reallocing a null pointer; in fact, they all say that
attempting to realloc a pointer that was not returned by malloc,
calloc, or realloc will have unexpected results.  (Yes, malloc can
return a null pointer... I think that they meant a pointer returned by
a SUCCESSFUL call to malloc, calloc, or realloc.)

This means that you are depending on an undocumented feature.  You
shouldn't be surprised when it breaks.

The behavior you describe IS required by the pANS.  You can depend on
this behavior in any ANSI-Standard implementation, but if you expect
it of any System V, BSD, or ULTRIX implementation (and quite possibly
many others), you're expecting something that isn't promised by the
manufacturer.  This, of course, is the whole point of standards.
Unfortunately, there are as yet no ANSI-Standard implementations,
since there is no approved Standard yet.

            David D. Levine                BBBBBBBBB  IIII IIII NNN  NNNN TM
        Senior Technical Writer            BBBB  BBBB iiii iiii NNNN NNNN
                                           BBBBBBBBB  IIII IIII NNNNNNNNN
UUCP: ...[!uunet]!tektronix!biin!davidl    BBBB  BBBB IIII IIII NNNN NNNN
MX-Internet: <davidl@intelob.intel.com>    BBBBBBBBB  IIII IIII NNNN  NNN
ARPA: <@iwarp.intel.com:davidl@intelob.intel.com>
Technical Details
Message-ID: <DAVIDL.89Mar29091834@intelob.intel.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!mit-eddie!uw-beaver!blake!ogccse!littlei!omepd!davidl
References: <10170@bloom-beacon.MIT.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!rutgers!mit-eddie!uw-beaver!blake!ogccse!littlei!omepd!davidl
From: davidl@intelob.intel.com (David Levine)
Newsgroups: comp.std.c,comp.lang.c
Subject: Re: realloc
Message-ID: <DAVIDL.89Mar29091834@intelob.intel.com>
Date: 29 Mar 89 14:18:34 GMT
References: <10170@bloom-beacon.MIT.EDU>
Sender: news@omepd.UUCP
Organization: BiiN Information Systems, Hillsboro, Oregon
Lines: 33
In-reply-to: scs@adam.pika.mit.edu's message of 29 Mar 89 02:07:46 GMT