With regard to ctype, digits (e.g. 0 to 9) and xdigits (the 0 to 9 portion

of hexidecimal numbers) are all considered "numbers".  (Note that while
all digits are numbers, not all numbers are digits).

Enhance localedef to automatically set the "number" characteristic when
it encounters a digit or xdigit definition. This fixes malfunctionning
isalnum(3)

Obtained from:	DragonflyBSD
This commit is contained in:
bapt 2015-10-19 14:30:28 +00:00
parent d93a511528
commit d3438cfcad

View File

@ -117,7 +117,7 @@ add_ctype_impl(ctype_node_t *ctn)
ctn->ctype |= (_ISALPHA | _ISGRAPH | _ISPRINT);
break;
case T_ISDIGIT:
ctn->ctype |= (_ISDIGIT | _ISGRAPH | _ISPRINT | _ISXDIGIT);
ctn->ctype |= (_ISDIGIT | _ISGRAPH | _ISPRINT | _ISXDIGIT | _E4);
break;
case T_ISSPACE:
ctn->ctype |= _ISSPACE;
@ -135,7 +135,7 @@ add_ctype_impl(ctype_node_t *ctn)
ctn->ctype |= (_ISPUNCT | _ISGRAPH | _ISPRINT);
break;
case T_ISXDIGIT:
ctn->ctype |= (_ISXDIGIT | _ISPRINT);
ctn->ctype |= (_ISXDIGIT | _ISPRINT | _E4);
break;
case T_ISBLANK:
ctn->ctype |= (_ISBLANK | _ISSPACE);