sizeof(char)
Roumen Petrov
openssh at roumenpetrov.info
Fri Sep 30 05:43:01 EST 2011
Damien Miller wrote:
> On Thu, 29 Sep 2011, Dag-Erling Sm?rgrav wrote:
>
>
>> I was scanning through my config.h and noticed something that startled
>> me a bit. The configure script actually checks what sizeof(char) is,
>> and defines.h relies on this information.
>>
>> This is completely unnecessary. By definition, sizeof(char) is always
>> 1. This is not a matter of opinion; the C standard explicitly states,
>> in ?6.5.3.4 alinea 3,
>>
>> When applied to an operand that has type char, unsigned char, or
>> signed char, (or a qualified version thereof) the result is 1.
>>
>> On the other hand, unlike other basic integer types, the signedness of
>> char is implementation-defined; see ?6.2.5 alinea 15 and footnote 35.
>> Since int8_t is supposed to be a *signed* 8-bit integer, it must be
>> explicitly defined as such. Code that relies on char being signed will
>> break on IRIX, and probably a number of other implementations.
>>
> applied - thanks
>
I don't know what you apply but patch as is just say good bay on old
systems where char is with sizeof integer. I don't think that check for
size of char has to be removed .
Only part "typedef signed char int8_t;" make sense .
Regards,
Roumen
--
Get X.509 certificates support in OpenSSH:
http://roumenpetrov.info/openssh/
More information about the openssh-unix-dev
mailing list