From 32ea54ed8e103c6d4738a48150bfd5f432cdb528 Mon Sep 17 00:00:00 2001 From: ache Date: Sat, 28 Oct 1995 19:29:58 +0000 Subject: Add setlocale LC_CTYPE Fix ctype functions for 8bit charsets --- gnu/usr.bin/sort/sort.c | 6 ++++++ gnu/usr.bin/sort/system.h | 36 +++++++++++++++++++----------------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/gnu/usr.bin/sort/sort.c b/gnu/usr.bin/sort/sort.c index 74d4b46..a6c7539 100644 --- a/gnu/usr.bin/sort/sort.c +++ b/gnu/usr.bin/sort/sort.c @@ -36,6 +36,9 @@ #include #include #include +#ifdef __FreeBSD__ +#include +#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 4aeaaea..4e2ec1e 100644 --- a/gnu/usr.bin/sort/system.h +++ b/gnu/usr.bin/sort/system.h @@ -173,28 +173,30 @@ extern int errno; #include -#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)) -#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 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)) -- cgit v1.1