[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] libfsimage: Make it build on NetBSD



On 23/9/07 13:55, "Bastian Blank" <bastian@xxxxxxxxxxxx> wrote:

>> If we sensibly take 'representable' to mean 'representable with the same
>> integer value', then the casts are clearly needed for compliance.
> 
> No. 'representable' means that the value fits in unsigned char (0-255 on
> common systems). See example 6 of §5.1.2.3 how the standard uses
> representable. A cast would force that, if you use unsigned char.

Well, actually that's what I meant but may have worded poorly. Yes, the
range of an unsigned char is [0, 255] and hence no negative integer can be
represented. So passing a negative char to a ctype function is invalid.

>> And read glibc's ctype.h -- it goes to some effort to support 'signed char'
>> input, but makes it clear this is "for broken old programs".
> 
> Yeah, it explicitely does the change which the explicite conversion to
> unsigned char would do.

Actually it casts to int, at least in my installed glibc. Thus the sign is
maintained, and allowance is made by glibc for negative indexing into its
ctype array. I interpret this as a kludge to let old programs and lazy
programmers do the obvious thing in spite of the spec.

 -- Keir



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.