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