Bug #2415

Updated by tuxillo 4 months ago

The return value of setlocale() for LC_ALL deviates from implementations

found in FreeBSD, NetBSD, GNU libc and OpenSolaris. Other implementations

return NULL for unknown locales and the category LC_ALL, where instead

DragonflyBSD isresponding with the internal value list.



Thus an environment variable LC_ALL=fake produces



### setlocale(LC_ALL, "");

C/C/fake/fake/fake/C



### setlocale(LC_CTYPE, "");

(null)



The LC_ALL category is hiding the erroneous effect from the

invoking program, whereas the other categories are correctly

reporting their failures.

Back