Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Jun 2003 06:25:52 -0700
From:      David Schultz <das@freebsd.org>
To:        Andrey Chernov <ache@nagual.pp.ru>
Cc:        standards@freebsd.org
Subject:   Re: scanf(3) patch for C99-conformant FP parsing
Message-ID:  <20030624132552.GA33228@HAL9000.homeunix.com>
In-Reply-To: <20030624124233.GA83552@nagual.pp.ru>
References:  <20030624114418.GA58305@HAL9000.homeunix.com> <20030624124233.GA83552@nagual.pp.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jun 24, 2003, Andrey Chernov wrote:
> On Tue, Jun 24, 2003 at 04:44:18 -0700, David Schultz wrote:
> > Outstanding issues:
> > 	- I'm not sure that it's okay to use isdigit(3) and
> > 	  friends in sprintf().  The standard seems to imply that
> > 	  it would be okay if every digit in the C locale were
> > 	  also a digit in all other locales.
> 
> isdigit() always for 0..9 only, isxdigit() is a like, don't know, what 
> you mean by 'friends'.
>
> > +				} else if (!isalnum(c) && c != '_')
> 
> F.e. isalnum() you should use with care, it may hit national characters.

That's what I was worried about.  I believe that's okay by the
standard as long as isalnum() still accepts *at least*
[a-z][A-Z][0-9] in any locale.  Is this a valid assumption or do I
need to test by hand?

> BTW, in all cases calling is*() macros on char may have side effects, you 
> need to promote argument to (unsigned char) first.

Okay, I'll do that.  Thanks.



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