aboutsummaryrefslogtreecommitdiff
path: root/gnu/usr.bin/sort
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1995-10-28 19:29:58 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1995-10-28 19:29:58 +0000
commit021d0b0c13d0dfc490eb75f800bf66606dc8878d (patch)
tree288fbfb67afd2f50a509e82269c917cab652188d /gnu/usr.bin/sort
parent9203a11a55562c47b7fa7d41d4f35af05ca51be0 (diff)
Notes
Diffstat (limited to 'gnu/usr.bin/sort')
-rw-r--r--gnu/usr.bin/sort/sort.c6
-rw-r--r--gnu/usr.bin/sort/system.h32
2 files changed, 23 insertions, 15 deletions
diff --git a/gnu/usr.bin/sort/sort.c b/gnu/usr.bin/sort/sort.c
index 74d4b466ffc5..a6c753967009 100644
--- a/gnu/usr.bin/sort/sort.c
+++ b/gnu/usr.bin/sort/sort.c
@@ -36,6 +36,9 @@
#include <sys/types.h>
#include <signal.h>
#include <stdio.h>
+#ifdef __FreeBSD__
+#include <locale.h>
+#endif
#include "system.h"
#include "long-options.h"
@@ -1459,6 +1462,9 @@ main (argc, argv)
struct sigaction oldact, newact;
#endif /* _POSIX_VERSION */
+#ifdef __FreeBSD__
+ (void) setlocale(LC_CTYPE, "");
+#endif
program_name = argv[0];
parse_long_options (argc, argv, usage);
diff --git a/gnu/usr.bin/sort/system.h b/gnu/usr.bin/sort/system.h
index 4aeaaea188b6..4e2ec1ecd066 100644
--- a/gnu/usr.bin/sort/system.h
+++ b/gnu/usr.bin/sort/system.h
@@ -173,28 +173,30 @@ extern int errno;
#include <ctype.h>
-#ifndef isascii
-#define isascii(c) 1
+#if !defined(isascii) || defined(__FreeBSD__)
+#define ISASCII(c) 1
+#else
+#define ISASCII(c) isascii (c)
#endif
#ifdef isblank
-#define ISBLANK(c) (isascii (c) && isblank (c))
+#define ISBLANK(c) (ISASCII (c) && isblank (c))
#else
#define ISBLANK(c) ((c) == ' ' || (c) == '\t')
#endif
#ifdef isgraph
-#define ISGRAPH(c) (isascii (c) && isgraph (c))
+#define ISGRAPH(c) (ISASCII (c) && isgraph (c))
#else
-#define ISGRAPH(c) (isascii (c) && isprint (c) && !isspace (c))
+#define ISGRAPH(c) (ISASCII (c) && isprint (c) && !isspace (c))
#endif
-#define ISPRINT(c) (isascii (c) && isprint (c))
-#define ISDIGIT(c) (isascii (c) && isdigit (c))
-#define ISALNUM(c) (isascii (c) && isalnum (c))
-#define ISALPHA(c) (isascii (c) && isalpha (c))
-#define ISCNTRL(c) (isascii (c) && iscntrl (c))
-#define ISLOWER(c) (isascii (c) && islower (c))
-#define ISPUNCT(c) (isascii (c) && ispunct (c))
-#define ISSPACE(c) (isascii (c) && isspace (c))
-#define ISUPPER(c) (isascii (c) && isupper (c))
-#define ISXDIGIT(c) (isascii (c) && isxdigit (c))
+#define ISPRINT(c) (ISASCII (c) && isprint (c))
+#define ISDIGIT(c) (ISASCII (c) && isdigit (c))
+#define ISALNUM(c) (ISASCII (c) && isalnum (c))
+#define ISALPHA(c) (ISASCII (c) && isalpha (c))
+#define ISCNTRL(c) (ISASCII (c) && iscntrl (c))
+#define ISLOWER(c) (ISASCII (c) && islower (c))
+#define ISPUNCT(c) (ISASCII (c) && ispunct (c))
+#define ISSPACE(c) (ISASCII (c) && isspace (c))
+#define ISUPPER(c) (ISASCII (c) && isupper (c))
+#define ISXDIGIT(c) (ISASCII (c) && isxdigit (c))