------- Comment #2 from sebor at roguewave dot com 2008-01-11 02:09 ------- Right, in C it does mean that (because thousands_sep is a multibyte string, and so the value is really ""). The problem is that in C++ a NUL thousands_sep is a perfectly valid single-byte character, i.e., '\0'. IMO, the way to fix it is by somehow distinguishing a NUL thousands_sep that comes from the system locale (e.g., via localeconv()) and a NUL thousands_sep intentionally supplied by the user (read "test suite writer" ;-) because they want to see it on output.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34733