about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-02-26 20:33:23 +0000
committerUlrich Drepper <drepper@redhat.com>2004-02-26 20:33:23 +0000
commit266c1f50df28885289fdd5a8a2dddb6c65efc125 (patch)
tree0e390f6a89990a9af0c293b0fd74585646c0603a
parent3b3ddb4f7db98ec9e912ccdf54d35df4aa30e04a (diff)
downloadglibc-266c1f50df28885289fdd5a8a2dddb6c65efc125.tar.gz
glibc-266c1f50df28885289fdd5a8a2dddb6c65efc125.tar.xz
glibc-266c1f50df28885289fdd5a8a2dddb6c65efc125.zip
Update.
2004-02-26  Ulrich Drepper  <drepper@redhat.com>

	* posix/regcomp.c (parse_expression): Avoid duplication in calls
	to build_charclass_op.

	* posix/regcomp.c (parse_expression): Add cast to (const unsigned
	char *) in calls to `build_charclass_op'.
-rw-r--r--ChangeLog7
-rw-r--r--posix/regcomp.c18
2 files changed, 15 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 0098fbb5dd..5221f5f3c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* posix/regcomp.c (parse_expression): Avoid duplication in calls
+	to build_charclass_op.
+
 2004-02-26  Jakub Jelinek  <jakub@redhat.com>
 
 	* elf/rtld.c (dl_main): Correctly set up l_map_end and l_addr
@@ -24,6 +29,8 @@
 
 2004-02-24  Nelson H.F. Beebe  <beebe@math.utah.edu>
 
+	* posix/regcomp.c (parse_expression): Add cast to (const unsigned
+	char *) in calls to `build_charclass_op'.
 	* posix/regex_internal.c (build_wcs_buffer): Add cast to char* in call
 	to `wcrtomb'.
 	* posix/regex_internal.h (bitset_not, bitset_merge, bitset_not_merge,
diff --git a/posix/regcomp.c b/posix/regcomp.c
index 96b63a40f0..eccb93e46e 100644
--- a/posix/regcomp.c
+++ b/posix/regcomp.c
@@ -2239,22 +2239,20 @@ parse_expression (regexp, preg, token, syntax, nest, err)
 	dfa->has_mb_node = 1;
       break;
     case OP_WORD:
-      tree = build_charclass_op (dfa, regexp->trans, "alnum", "_", 0, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
-	return NULL;
-      break;
     case OP_NOTWORD:
-      tree = build_charclass_op (dfa, regexp->trans, "alnum", "_", 1, err);
+      tree = build_charclass_op (dfa, regexp->trans,
+				 (const unsigned char *) "alnum",
+				 (const unsigned char *) "_",
+				 token->type == OP_NOTWORD, err);
       if (BE (*err != REG_NOERROR && tree == NULL, 0))
 	return NULL;
       break;
     case OP_SPACE:
-      tree = build_charclass_op (dfa, regexp->trans, "space", "", 0, err);
-      if (BE (*err != REG_NOERROR && tree == NULL, 0))
-	return NULL;
-      break;
     case OP_NOTSPACE:
-      tree = build_charclass_op (dfa, regexp->trans, "space", "", 1, err);
+      tree = build_charclass_op (dfa, regexp->trans,
+				 (const unsigned char *) "space",
+				 (const unsigned char *) "",
+				 token->type == OP_NOTSPACE, err);
       if (BE (*err != REG_NOERROR && tree == NULL, 0))
 	return NULL;
       break;