regexec.c: simplify re_search_2_stub

This commit is contained in:
Paul Eggert 2010-01-22 10:39:59 -08:00 committed by Ulrich Drepper
parent 5ddf954cf1
commit d044d844dd
2 changed files with 10 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2010-01-22 Jim Meyering <jim@meyering.net>
[BZ #11187]
* posix/regexec.c (re_search_2_stub): Use simpler method than
boolean for freeing internal storage.
2010-01-22 Ulrich Drepper <drepper@redhat.com> 2010-01-22 Ulrich Drepper <drepper@redhat.com>
* posix/regex_internal.c (re_string_skip_chars): Simplify test for * posix/regex_internal.c (re_string_skip_chars): Simplify test for

View File

@ -368,7 +368,7 @@ re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs,
const char *str; const char *str;
int rval; int rval;
int len = length1 + length2; int len = length1 + length2;
int free_str = 0; char *s = NULL;
if (BE (length1 < 0 || length2 < 0 || stop < 0, 0)) if (BE (length1 < 0 || length2 < 0 || stop < 0, 0))
return -2; return -2;
@ -377,7 +377,7 @@ re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs,
if (length2 > 0) if (length2 > 0)
if (length1 > 0) if (length1 > 0)
{ {
char *s = re_malloc (char, len); s = re_malloc (char, len);
if (BE (s == NULL, 0)) if (BE (s == NULL, 0))
return -2; return -2;
@ -388,17 +388,14 @@ re_search_2_stub (bufp, string1, length1, string2, length2, start, range, regs,
memcpy (s + length1, string2, length2); memcpy (s + length1, string2, length2);
#endif #endif
str = s; str = s;
free_str = 1;
} }
else else
str = string2; str = string2;
else else
str = string1; str = string1;
rval = re_search_stub (bufp, str, len, start, range, stop, regs, rval = re_search_stub (bufp, str, len, start, range, stop, regs, ret_len);
ret_len); re_free (s);
if (free_str)
re_free ((char *) str);
return rval; return rval;
} }