"Derek R. Price" <[EMAIL PROTECTED]> writes:
> The base problem appears to be using the C99 wctype_t
> without protection when <wctype.h> may not have been present and
> therefore not included.
Thanks for reporting that. I installed the following patch into gnulib
(and shortly into coreutils).
2006-04-13 Paul Eggert <[EMAIL PROTECTED]>
* regcomp.c (init_dfa): Don't use wchar_t or wctype_t if RE_ENABLE_I18N
is not defined. Problem reported by Mark D. Baushke via Derek R. Price.
--- lib/regcomp.c 10 Apr 2006 19:15:08 -0000 1.7
+++ lib/regcomp.c 13 Apr 2006 22:11:29 -0000
@@ -836,15 +836,17 @@ init_dfa (re_dfa_t *dfa, size_t pat_len)
#ifndef _LIBC
char *codeset_name;
#endif
+#ifdef RE_ENABLE_I18N
+ size_t max_i18n_object_size = MAX (sizeof (wchar_t), sizeof (wctype_t));
+#else
+ size_t max_i18n_object_size = 0;
+#endif
size_t max_object_size =
MAX (sizeof (struct re_state_table_entry),
MAX (sizeof (re_token_t),
MAX (sizeof (re_node_set),
MAX (sizeof (regmatch_t),
- MAX (sizeof (regoff_t),
- MAX (sizeof (wchar_t),
- MAX (sizeof (wctype_t),
- sizeof (Idx))))))));
+ max_i18n_object_size))));
memset (dfa, '\0', sizeof (re_dfa_t));