From c0a0f9a32c8baa6ab93d00eb42d92c02e9e146d7 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 24 May 2002 08:49:00 +0000 Subject: Update. 2002-05-21 Isamu Hasegawa * posix/regex.c: Define `inline' as a macro into nothing for the compilers which lack the keyword. * posix/regex.h: (RE_SYNTAX_GNU_AWK): Remove RE_CONTEXT_INVALID_OPS for the compatibility of gawk. * posix/regcomp.c: Add fake implementation of isblank() for the environments which lack the function. Don't use free_charset() in case of non-i18n envs. (build_range_exp): Don't use i18n related code in case of non-i18n envs. (build_collating_symbol): Likewise. (build_equiv_class): Likewise. (build_charclass): Likewise. (re_compile_fastmap_iter): Likewise. (parse_bracket_exp): Likewise. (build_word_op): Likewise. (regfree): Don't use free_charset() in case of non-i18n envs. * posix/regex_internal.h: Remove COMPLEX_BRACKET from re_token_type_t in case of non-i18n envs. Don't define re_charset_t in case of non-i18n envs. Change the type of wcs of re_string_t from wchar_t to wint_t, since we store also WEOF. * posix/regex_internal.c: (re_string_realloc_buffers): Change the type of wcs of re_string_t from wchar_t to wint_t. (re_string_reconstruct): Likewise. (create_ci_newstate): Don't use i18n related code in case of non-i18n envs. (create_cd_newstate): Likewise. 2002-05-24 Ulrich Drepper * iconv/loop.c: Fix typo. 2002-05-23 Jakub Jelinek * inet/ether_line.c (ether_line): Fix a typo causing only lower 4 bits of each ethernet address byte being assigned. Don't modify what line points to. * inet/tst-ether_aton.c (main): Add ether_line tests. 2002-05-23 Marcus Brinkmann * manual/filesys.texi: Don't make readlink example leak memory when readlink fails. --- posix/regex_internal.h | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'posix/regex_internal.h') diff --git a/posix/regex_internal.h b/posix/regex_internal.h index 75cc81517b..95ae46e297 100644 --- a/posix/regex_internal.h +++ b/posix/regex_internal.h @@ -119,7 +119,9 @@ typedef enum ALT, SUBEXP, SIMPLE_BRACKET, +#ifdef RE_ENABLE_I18N COMPLEX_BRACKET, +#endif /* RE_ENABLE_I18N */ /* Node type, These are used by token, node, tree. */ OP_PERIOD, @@ -137,6 +139,7 @@ typedef enum END_OF_RE_TOKEN_T } re_token_type_t; +#ifdef RE_ENABLE_I18N typedef struct { /* If this character set is the non-matching list. */ @@ -147,31 +150,32 @@ typedef struct int nmbchars; /* Collating symbols. */ -#ifdef _LIBC +# ifdef _LIBC int32_t *coll_syms; -#endif +# endif int ncoll_syms; /* Equivalence classes. */ -#ifdef _LIBC +# ifdef _LIBC int32_t *equiv_classes; -#endif +# endif int nequiv_classes; /* Range expressions. */ -#ifdef _LIBC +# ifdef _LIBC uint32_t *range_starts; uint32_t *range_ends; -#else /* not _LIBC */ +# else /* not _LIBC */ wchar_t *range_starts; wchar_t *range_ends; -#endif /* not _LIBC */ +# endif /* not _LIBC */ int nranges; /* Character classes. */ wctype_t *char_classes; int nchar_classes; } re_charset_t; +#endif /* RE_ENABLE_I18N */ typedef struct { @@ -180,7 +184,9 @@ typedef struct { unsigned char c; /* for CHARACTER */ re_bitset_ptr_t sbcset; /* for SIMPLE_BRACKET */ +#ifdef RE_ENABLE_I18N re_charset_t *mbcset; /* for COMPLEX_BRACKET */ +#endif /* RE_ENABLE_I18N */ int idx; /* for BACK_REF */ re_context_type ctx_type; /* for ANCHOR */ struct @@ -221,7 +227,7 @@ struct re_string_t unsigned char *mbs_case; #ifdef RE_ENABLE_I18N /* Store the wide character string which is corresponding to MBS. */ - wchar_t *wcs; + wint_t *wcs; mbstate_t cur_state; #endif /* The length of the valid characters in the buffers. */ -- cgit v1.2.3