[Libguestfs] [PATCH v2 1/2] appliance: search all types of appliances for each path separately
Eric Blake
eblake at redhat.com
Fri May 5 17:26:11 UTC 2017
On 05/05/2017 12:18 PM, Eric Blake wrote:
> On 05/05/2017 12:07 PM, Richard W.M. Jones wrote:
>> Eric, what do you think of Pavel's analysis and/or suggested fix
>> below? It seems all too plausible to me unfortunately :-(
>>
>
>>> There NULL is macros which can be defined as 0 or (void*)0, again in
>>> accordance with c99:
>
> C99 permits:
> #define NULL 0
>
> but POSIX does not. POSIX _requires_
>
> #define NULL ((void*)0)
>
> or the equivalent, so that NULL is properly typed as a pointer to void
> in ALL cases (rather than the weaker C99 solution of letting the integer
> zero constant leak), in part _because_ of the commonality of passing
> NULL through varargs functions.
I forgot to cite my reference:
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html#tag_13_47
"NULL
Null pointer constant. [CX] [Option Start] The macro shall expand
to an integer constant expression with the value 0 cast to type void *.
[Option End]"
...
"RATIONALE
The ISO C standard does not require the NULL macro to include the
cast to type void * and specifies that the NULL macro be
implementation-defined. POSIX.1-2008 requires the cast and therefore
need not be implementation-defined."
where the CX option represents requirements that POSIX makes
above-and-beyond bare C99.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 604 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20170505/187127c2/attachment.sig>
More information about the Libguestfs
mailing list