sort: with --debug, flag setlocale() failures on OpenBSD
commit611e7e02bff8898e622d6ad582a92f2de746b614
authorPádraig Brady <P@draigBrady.com>
Thu, 14 Jan 2016 01:17:57 +0000 (14 01:17 +0000)
committerPádraig Brady <P@draigBrady.com>
Thu, 14 Jan 2016 01:26:00 +0000 (14 01:26 +0000)
treeb44094081df40b9e73d36eaa40d9f8aa5a98ce8a
parent4ab8704dc0c63a62076155f73439c8e11e9d5b6a
sort: with --debug, flag setlocale() failures on OpenBSD

Locale categories are not equivalent on OpenBSD,
and LC_COLLATE only supports "C" for example.
Now LC_ALL is supported to set multiple other categories
on OpenBSD, so setlocale(LC_ALL, "") returns a string
indicating which categories were updated and which ignored.
Therefore...

* src/sort.c (main): ...Call setlocale(LC_COLLATE, "")
to explicitly check whether a specified LC_ALL or
LC_COLLATE environment variable value is supported
for the LC_COLLATE category.  Also use !! to explicitly
convert to bool to support c89 systems where bool is an int,
and thus would get values > 1.
Reported by Assaf Gordon.
src/sort.c