Mercurial > hg > octave-lyh > gnulib-hg
changeset 436:63776cd94c4d
(re_compile_fastmap): Undo previous change.
(RESET_FAIL_STACK): New macro.
(re_compile_fastmap): Use RESET_FAIL_STACK, not REGEX_FREE_STACK
directly.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Wed, 17 May 1995 20:29:52 +0000 |
parents | 591cf1287b32 |
children | 844937242ebb |
files | regex.c |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/regex.c +++ b/regex.c @@ -1011,7 +1011,8 @@ #define FAIL_STACK_FULL() (fail_stack.avail == fail_stack.size) -/* Initialize `fail_stack'. Do `return -2' if the alloc fails. */ +/* Define macros to initialize and free the failure stack. + Do `return -2' if the alloc fails. */ #ifdef MATCH_MAY_ALLOCATE #define INIT_FAIL_STACK() \ @@ -1025,11 +1026,15 @@ fail_stack.size = INIT_FAILURE_ALLOC; \ fail_stack.avail = 0; \ } while (0) + +#define RESET_FAIL_STACK() REGEX_FREE_STACK (fail_stack.stack) #else #define INIT_FAIL_STACK() \ do { \ fail_stack.avail = 0; \ } while (0) + +#define RESET_FAIL_STACK() #endif @@ -3080,7 +3085,7 @@ { if (!PUSH_PATTERN_OP (p + j, fail_stack)) { - REGEX_FREE_STACK (fail_stack.stack); + RESET_FAIL_STACK (); return -2; } } @@ -3141,8 +3146,7 @@ bufp->can_be_null |= path_can_be_null; done: - if (!FAIL_STACK_EMPTY ()) - REGEX_FREE_STACK (fail_stack.stack); + RESET_FAIL_STACK (); return 0; } /* re_compile_fastmap */