From 28055028a709020ba7eb44f9e5037d0a952b51d6 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 4 Jan 2010 20:49:58 +0100 Subject: fold: unicode support. Based on a patch by Tomas Heinrich General Unicode support is tweaked to expose unicode_status. function old new delta init_unicode - 77 +77 write2stdout - 19 +19 adjust_column 68 71 +3 unicode_status - 1 +1 unicode_is_enabled 1 - -1 grep_main 780 773 -7 fold_main 619 552 -67 check_unicode_in_env 77 - -77 ------------------------------------------------------------------------------ (add/remove: 3/2 grow/shrink: 1/2 up/down: 100/-152) Total: -52 bytes Signed-off-by: Denys Vlasenko --- include/unicode.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'include/unicode.h') diff --git a/include/unicode.h b/include/unicode.h index e0061478d..9f27657df 100644 --- a/include/unicode.h +++ b/include/unicode.h @@ -5,10 +5,17 @@ #ifndef UNICODE_H #define UNICODE_H 1 +enum { + UNICODE_UNKNOWN = 0, + UNICODE_OFF = 1, + UNICODE_ON = 2, +}; + #if !ENABLE_FEATURE_ASSUME_UNICODE # define bb_mbstrlen(string) strlen(string) -# define check_unicode_in_env() ((void)0) +# define unicode_status UNICODE_OFF +# define init_unicode() ((void)0) #else @@ -18,16 +25,19 @@ size_t bb_mbstrlen(const char *string) FAST_FUNC; # include # include -# define check_unicode_in_env() ((void)0) +extern uint8_t unicode_status; +void init_unicode(void) FAST_FUNC; # else /* Crude "locale support" which knows only C and Unicode locales */ # if !ENABLE_FEATURE_CHECK_UNICODE_IN_ENV -# define check_unicode_in_env() ((void)0) +# define unicode_status UNICODE_ON +# define init_unicode() ((void)0) # else -void check_unicode_in_env(void) FAST_FUNC; +extern uint8_t unicode_status; +void init_unicode(void) FAST_FUNC; # endif # undef MB_CUR_MAX -- cgit v1.2.3