Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 Jan 2005 12:36:33 +0200
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        Steven Smith <sos22@cantab.net>
Cc:        sos22@srcf.ucam.org
Subject:   Re: Dubious #define in include/pwd.h
Message-ID:  <20050126103633.GA829@orion.daedalusnetworks.priv>
In-Reply-To: <20050126100839.GA4367@archibold>
References:  <20050125214606.GB1113@archibold> <20050126004033.GA2640@gothmog.gr> <20050126100839.GA4367@archibold>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2005-01-26 10:08, Steven Smith <sos22@cantab.net> wrote:
>>> I was messing around with sparse, the static checker used sometimes
>>> by Linux kernel people, and I (or rather, it) came upon the line
>>>
>>> #define _PW_VERSION_MASK        '0xF0'
>>>
>>> in /usr/src/include/pwd.h.  I can't immediately see any use for this;
>>> '\xf0' would probably be more useful.
>>
>> If this is used as a mask for 'unsigned char' values, why would it make
>> any difference?  Aren't they both going to be implicitly converted to
>> the right typep anyway?
>
> Well, except for the single quotes around '0xf0'.  If you go:
>
> int x = '0xf0';
> printf("%d\n", x);
>
> you probably won't get what you expect.  If you replace the '0xf0'
> with '\xf0' you probably will.

Oops.  You're right.  I somehow managed to ignore the quotes :-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050126103633.GA829>