scanf(3) patch for C99-conformant FP parsing

Andrey Chernov ache at nagual.pp.ru
Tue Jun 24 05:42:38 PDT 2003


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.

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



More information about the freebsd-standards mailing list