summaryrefslogtreecommitdiffstats
path: root/contrib/gnu-sort/lib/hard-locale.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/gnu-sort/lib/hard-locale.c')
-rw-r--r--contrib/gnu-sort/lib/hard-locale.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/contrib/gnu-sort/lib/hard-locale.c b/contrib/gnu-sort/lib/hard-locale.c
index ca584d6..45b7d05 100644
--- a/contrib/gnu-sort/lib/hard-locale.c
+++ b/contrib/gnu-sort/lib/hard-locale.c
@@ -1,6 +1,7 @@
/* hard-locale.c -- Determine whether a locale is hard.
- Copyright (C) 1997, 1998, 1999, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 1999, 2002, 2003, 2004 Free Software
+ Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -30,23 +31,23 @@
#include <stdlib.h>
#include <string.h>
-/* Return nonzero if the current CATEGORY locale is hard, i.e. if you
+/* Return true if the current CATEGORY locale is hard, i.e. if you
can't get away with assuming traditional C or POSIX behavior. */
-int
+bool
hard_locale (int category)
{
#if ! HAVE_SETLOCALE
- return 0;
+ return false;
#else
- int hard = 1;
- char const *p = setlocale (category, 0);
+ bool hard = true;
+ char const *p = setlocale (category, NULL);
if (p)
{
# if defined(__FreeBSD__) || (defined __GLIBC__ && 2 <= __GLIBC__)
if (strcmp (p, "C") == 0 || strcmp (p, "POSIX") == 0)
- hard = 0;
+ hard = false;
# else
char *locale = malloc (strlen (p) + 1);
if (locale)
@@ -60,7 +61,7 @@ hard_locale (int category)
&& strcmp (p, locale) == 0)
|| ((p = setlocale (category, "POSIX"))
&& strcmp (p, locale) == 0))
- hard = 0;
+ hard = false;
/* Restore the caller's locale. */
setlocale (category, locale);
OpenPOWER on IntegriCloud