Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 17 Apr 2015 16:21:26 -0400
From: Rich Felker <dalias@...c.org>
To: musl@...ts.openwall.com
Subject: Re: Explicit casts in ctype.h suppress compiler warnings

On Fri, Apr 17, 2015 at 09:43:24PM +0200, Szabolcs Nagy wrote:
> * Szabolcs Nagy <nsz@...t70.net> [2015-04-17 20:35:12 +0200]:
> > > I admit I was thinking of doing isspace-style inlines everywhere, but thanks
> > > to your suggestion I was able to come up with this:
> > > 
> > > static __inline void __is_int(int a) {}
> > > #define isdigit(a) (__is_int(0?(a):0), ((unsigned)(a)-'0') < 10)
> > > 
> > 
> > i think using :0 there is not useful because null
> > pointer constants are special in ?:
> > 
> 
> ah i see what you are doing there now

Yes, this is exactly the type of thing I hoped could be done.

> meanwhile i tested that (__extension__ (unsigned){a})
> is accepted without warning in c89 mode

Try again with -pedantic.

Rich

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.