aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--posix/regcomp.c10
-rw-r--r--posix/regex.h2
-rw-r--r--posix/regex_internal.c2
-rw-r--r--posix/regex_internal.h2
-rw-r--r--posix/regexec.c2
6 files changed, 18 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c80faa..7eb5f79 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2005-09-22 Ulrich Drepper <drepper@redhat.com>
+ [BZ #281]
+ * posix/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
+ * posix/regcomp.c: Remove unnecessary uses of
+ unsigned RE_TRANSLATE_TYPE.
+ * posix/regex_internal.h: Likewise.
+ * posix/regex_internal.c: Likewise.
+ * posix/regexexec.c: Likewise.
+ Based on a patch by Stepan Kasal <kasal@ucw.cz>.
+
[BZ #1035]
* locale/iso-4217.def: Replace TRL entry with TRY for new Turkish Lira.
diff --git a/posix/regcomp.c b/posix/regcomp.c
index c93f79e..bf374a8 100644
--- a/posix/regcomp.c
+++ b/posix/regcomp.c
@@ -117,7 +117,7 @@ static reg_errcode_t build_equiv_class (re_bitset_ptr_t sbcset,
re_charset_t *mbcset,
int *equiv_class_alloc,
const unsigned char *name);
-static reg_errcode_t build_charclass (unsigned RE_TRANSLATE_TYPE trans,
+static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans,
re_bitset_ptr_t sbcset,
re_charset_t *mbcset,
int *char_class_alloc,
@@ -126,13 +126,13 @@ static reg_errcode_t build_charclass (unsigned RE_TRANSLATE_TYPE trans,
#else /* not RE_ENABLE_I18N */
static reg_errcode_t build_equiv_class (re_bitset_ptr_t sbcset,
const unsigned char *name);
-static reg_errcode_t build_charclass (unsigned RE_TRANSLATE_TYPE trans,
+static reg_errcode_t build_charclass (RE_TRANSLATE_TYPE trans,
re_bitset_ptr_t sbcset,
const unsigned char *class_name,
reg_syntax_t syntax);
#endif /* not RE_ENABLE_I18N */
static bin_tree_t *build_charclass_op (re_dfa_t *dfa,
- unsigned RE_TRANSLATE_TYPE trans,
+ RE_TRANSLATE_TYPE trans,
const unsigned char *class_name,
const unsigned char *extra,
int non_match, reg_errcode_t *err);
@@ -3559,7 +3559,7 @@ build_charclass (trans, sbcset, mbcset, char_class_alloc, class_name, syntax)
#else /* not RE_ENABLE_I18N */
build_charclass (trans, sbcset, class_name, syntax)
#endif /* not RE_ENABLE_I18N */
- unsigned RE_TRANSLATE_TYPE trans;
+ RE_TRANSLATE_TYPE trans;
re_bitset_ptr_t sbcset;
const unsigned char *class_name;
reg_syntax_t syntax;
@@ -3634,7 +3634,7 @@ build_charclass (trans, sbcset, class_name, syntax)
static bin_tree_t *
build_charclass_op (dfa, trans, class_name, extra, non_match, err)
re_dfa_t *dfa;
- unsigned RE_TRANSLATE_TYPE trans;
+ RE_TRANSLATE_TYPE trans;
const unsigned char *class_name;
const unsigned char *extra;
int non_match;
diff --git a/posix/regex.h b/posix/regex.h
index e5ec398..ba819ef 100644
--- a/posix/regex.h
+++ b/posix/regex.h
@@ -346,7 +346,7 @@ typedef enum
private to the regex routines. */
#ifndef RE_TRANSLATE_TYPE
-# define RE_TRANSLATE_TYPE char *
+# define RE_TRANSLATE_TYPE unsigned char *
#endif
struct re_pattern_buffer
diff --git a/posix/regex_internal.c b/posix/regex_internal.c
index 240e887..2b3725f 100644
--- a/posix/regex_internal.c
+++ b/posix/regex_internal.c
@@ -187,7 +187,7 @@ re_string_construct_common (str, len, pstr, trans, icase, dfa)
pstr->raw_mbs = (const unsigned char *) str;
pstr->len = len;
pstr->raw_len = len;
- pstr->trans = (unsigned RE_TRANSLATE_TYPE) trans;
+ pstr->trans = trans;
pstr->icase = icase ? 1 : 0;
pstr->mbs_allocated = (trans != NULL || icase);
pstr->mb_cur_max = dfa->mb_cur_max;
diff --git a/posix/regex_internal.h b/posix/regex_internal.h
index debbe0d..0096bf7 100644
--- a/posix/regex_internal.h
+++ b/posix/regex_internal.h
@@ -345,7 +345,7 @@ struct re_string_t
the beginning of the input string. */
unsigned int tip_context;
/* The translation passed as a part of an argument of re_compile_pattern. */
- unsigned RE_TRANSLATE_TYPE trans;
+ RE_TRANSLATE_TYPE trans;
/* Copy of re_dfa_t's word_char. */
re_const_bitset_ptr_t word_char;
/* 1 if REG_ICASE. */
diff --git a/posix/regexec.c b/posix/regexec.c
index 7804272..9df5574 100644
--- a/posix/regexec.c
+++ b/posix/regexec.c
@@ -657,7 +657,7 @@ re_search_internal (preg, string, length, start, range, stop, nmatch, pmatch,
#endif
char *fastmap = (preg->fastmap != NULL && preg->fastmap_accurate
&& range && !preg->can_be_null) ? preg->fastmap : NULL;
- unsigned RE_TRANSLATE_TYPE t = (unsigned RE_TRANSLATE_TYPE) preg->translate;
+ RE_TRANSLATE_TYPE t = preg->translate;
#if !(defined _LIBC || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
memset (&mctx, '\0', sizeof (re_match_context_t));