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>