Thus spake Bruce Evans <[EMAIL PROTECTED]>:
> Er, malloc(0) is defined as returning either a null pointer or a pointer
> to 0 bytes of allocated space.  Which one it chooses to return is
> implementation-defined, not undefined.  C90 has a bogus requirement that
> the pointer for malloc(0) be "unique", whatever that means.  C99 only
> requires that the objects pointed to by the results of malloc() be
> disjoint, and this is satisfied by FreeBSD's behaviour of returning the
> same magic pointer for each instance of malloc(0).

In FreeBSD, malloc(0) returns a distinct pointer each time by
making a 16-byte allocation.  I seem to recall that it may have
returned a single magic pointer at one time, so what you say might
have been correct some time ago.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to