Mercurial > hg > octave-nkf > gnulib-hg
changeset 12567:ceb1562f60a5
regcomp: sync from glibc; always use nl_langinfo
* lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
now that gnulib provides it. Recognize UTF8 as well as UTF-8.
* lib/regex_internal.h: Always include <langinfo.h>, now.
* modules/regex (Depends-on): Add nl_langinfo.
author | Jim Meyering <meyering@redhat.com> |
---|---|
date | Mon, 04 Jan 2010 09:07:52 +0100 |
parents | 88db63e00b06 |
children | c97a23e70cb7 |
files | ChangeLog lib/regcomp.c lib/regex_internal.h modules/regex |
diffstat | 4 files changed, 16 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-01-04 Jim Meyering <meyering@redhat.com> + + regcomp: sync from glibc; always use nl_langinfo + * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET), + now that gnulib provides it. Recognize UTF8 as well as UTF-8. + * modules/regex (Depends-on): Add nl_langinfo. + 2010-01-04 Eric Blake <ebb9@byu.net> fdopendir: fix configure test
--- a/lib/regcomp.c +++ b/lib/regcomp.c @@ -850,6 +850,9 @@ init_dfa (re_dfa_t *dfa, size_t pat_len) { __re_size_t table_size; +#ifndef _LIBC + char *codeset_name; +#endif #ifdef RE_ENABLE_I18N size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t)); #else @@ -893,7 +896,9 @@ dfa->map_notascii = (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MAP_TO_NONASCII) != 0); #else - if (strcmp (locale_charset (), "UTF-8") == 0) + codeset_name = nl_langinfo (CODESET); + if (strcasecmp (codeset_name, "UTF-8") == 0 + || strcasecmp (codeset_name, "UTF8") == 0) dfa->is_utf8 = 1; /* We check exhaustively in the loop below if this charset is a