added simplified Unicode support for non-locale-enabled builds
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
883cea4751
commit
42a8fd0db0
6 changed files with 331 additions and 24 deletions
57
include/unicode.h
Normal file
57
include/unicode.h
Normal file
|
@ -0,0 +1,57 @@
|
|||
/* vi: set sw=4 ts=4: */
|
||||
/*
|
||||
* Licensed under the GPL version 2, see the file LICENSE in this tarball.
|
||||
*/
|
||||
#ifndef UNICODE_H
|
||||
#define UNICODE_H 1
|
||||
|
||||
#if !ENABLE_FEATURE_ASSUME_UNICODE
|
||||
|
||||
# define check_unicode_in_env() ((void)0)
|
||||
|
||||
#else
|
||||
|
||||
# if ENABLE_LOCALE_SUPPORT
|
||||
|
||||
# include <wchar.h>
|
||||
# include <wctype.h>
|
||||
# define check_unicode_in_env() ((void)0)
|
||||
|
||||
# else
|
||||
|
||||
# if !ENABLE_FEATURE_CHECK_UNICODE_IN_ENV
|
||||
# define check_unicode_in_env() ((void)0)
|
||||
# else
|
||||
void check_unicode_in_env(void) FAST_FUNC;
|
||||
# endif
|
||||
|
||||
# undef MB_CUR_MAX
|
||||
# define MB_CUR_MAX 6
|
||||
|
||||
/* Prevent name collisions */
|
||||
# define wint_t bb_wint_t
|
||||
# define mbstate_t bb_mbstate_t
|
||||
# define mbstowcs bb_mbstowcs
|
||||
# define wcstombs bb_wcstombs
|
||||
# define wcrtomb bb_wcrtomb
|
||||
# define iswspace bb_iswspace
|
||||
# define iswalnum bb_iswalnum
|
||||
# define iswpunct bb_iswpunct
|
||||
|
||||
typedef int32_t wint_t;
|
||||
typedef struct {
|
||||
char bogus;
|
||||
} mbstate_t;
|
||||
|
||||
size_t mbstowcs(wchar_t *dest, const char *src, size_t n) FAST_FUNC;
|
||||
size_t wcstombs(char *dest, const wchar_t *src, size_t n) FAST_FUNC;
|
||||
size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps) FAST_FUNC;
|
||||
int iswspace(wint_t wc) FAST_FUNC;
|
||||
int iswalnum(wint_t wc) FAST_FUNC;
|
||||
int iswpunct(wint_t wc) FAST_FUNC;
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue