lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 2 Oct 2020 09:53:25 -0700 From: Paul Eggert <eggert@...ucla.edu> To: Alejandro Colomar <colomar.6.4.3@...il.com> Cc: mtk.manpages@...il.com, linux-man@...r.kernel.org, gcc-patches@....gnu.org, libc-alpha@...rceware.org, linux-kernel@...r.kernel.org, jwakely.gcc@...il.com, David.Laight@...LAB.COM Subject: Re: [PATCH v4 1/2] system_data_types.7: Add 'void *' On 10/2/20 8:14 AM, Alejandro Colomar wrote: > +.I void * GNU style is a space between "void" and "*", so this should be '.I "void\ *"', both here and elsewhere. The backslash prevents a line break. > +Conversions from and to any other pointer type are done implicitly, > +not requiring casts at all. > +Note that this feature prevents any kind of type checking: > +the programmer should be careful not to cast a Change "cast" to "convert", since the point is that no cast is needed. > +.PP > +The conversion specifier for > +.I void * > +for the > +.BR printf (3) > +and the > +.BR scanf (3) > +families of functions is > +.BR p ; > +resulting commonly in > +.B %p > +for printing > +.I void * > +values. %p works with any object pointer type (or in POSIX, any pointer type), not just void *. Should also mention "void const *", "void volatile *", etc. Plus it really should talk about plain "void", saying that it's a placeholder as a return value for functions, for casting away values, and as a keyword in C11 for functions with no parameters (though this is being changed in the next C version!). I sent comments about most of this stuff already.
Powered by blists - more mailing lists