Me: > >> What if > >> the system's setlocale() actually returns NULL?
Paul: > > Then we don't know what the locale is. Perhaps setlocale ran out of > > memory and so returned NULL. If so, subsequent calls might use some > > weird Turkish locale with multibyte characters. So it sounds safer to > > assume the worst in that case. Eric: > This is in main(). POSIX guarantees that until setlocale() is called > for the first time, we are in the C locale. If you were in a library, I > could buy the argument of setlocale() returning NULL as indicative of > some rare error. But in main(), where you are the first call, the only > thing that a NULL return implies is that your attempt to change the > locale had no effect, so it remains at the locale it was before, which > is the C locale since all programs start in the C locale. So, are we for or against my suggested change? Sounds like "for", but I'm not sure. Thanks, Arnold
