Mercurial > hg > octave-kai > gnulib-hg
changeset 522:bb1ccd0deccc
Update from latest.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Fri, 15 Dec 1995 15:12:58 +0000 |
parents | 7089c3a3a164 |
children | f2c4a67c18cc |
files | lib/rx.c lib/rx.h |
diffstat | 2 files changed, 18 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/rx.c +++ b/lib/rx.c @@ -30,12 +30,8 @@ #define _GNU_SOURCE #endif -#if HAVE_CONFIG_H -#include <config.h> -#endif - -char rx_version_string[] = "GNU Rx version 0.07.1"; +const char *rx_version_string = "GNU Rx version 0.07.2"; /* ``Too hard!'' * -- anon. @@ -123,6 +119,8 @@ extern char *re_syntax_table; #else /* not SYNTAX_TABLE */ +RX_DECL char re_syntax_table[CHAR_SET_SIZE]; + #ifdef __STDC__ static void init_syntax_once (void) @@ -3672,7 +3670,8 @@ { struct rx_distinct_future * df; df = saved; - df->next_same_super_edge[1]->next_same_super_edge[0] = 0; + if (df) + df->next_same_super_edge[1]->next_same_super_edge[0] = 0; while (df) { struct rx_distinct_future *dft; @@ -6250,9 +6249,9 @@ struct re_search_2_closure { - __const__ char * string1; + __const__ unsigned char * string1; int size1; - __const__ char * string2; + __const__ unsigned char * string2; int size2; }; @@ -6395,7 +6394,7 @@ return *pos->pos; else { - if ( (pos->string == (__const__ unsigned char *) closure->string2) + if ( (pos->string == closure->string2) && (closure->string1) && (closure->size1)) return closure->string1[closure->size1 - 1]; @@ -6882,6 +6881,7 @@ /* Match anchors at newlines. */ rx_comp_buf.newline_anchor = 1; + rx_comp_buf.fastmap_accurate = 0; rx_comp_buf.re_nsub = 0; rx_comp_buf.start = 0; rx_comp_buf.se_params = 0; @@ -6891,6 +6891,7 @@ rx_comp_buf.rx.nfa_states = 0; rx_comp_buf.rx.start = 0; rx_comp_buf.rx.se_list_cmp = posix_se_list_order; + rx_comp_buf.rx.start_set = 0; rx_comp_buf.rx.local_cset_size = 256; ret = rx_compile (s, strlen (s), re_syntax_options, &rx_comp_buf);
--- a/lib/rx.h +++ b/lib/rx.h @@ -1422,7 +1422,7 @@ #define RE_SYNTAX_AWK \ (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ | RE_NO_BK_PARENS | RE_NO_BK_REFS \ - | RE_NO_BK_VAR | RE_NO_EMPTY_RANGES \ + | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ | RE_UNMATCHED_RIGHT_PAREN_ORD) #define RE_SYNTAX_POSIX_AWK \ @@ -1527,7 +1527,7 @@ #endif extern int rx_cache_bound; -extern char rx_version_string[]; +extern const char *rx_version_string; @@ -2221,11 +2221,7 @@ #define Sword 1 #endif #define SYNTAX(c) re_syntax_table[c] -#ifdef SYNTAX_TABLE -extern char *re_syntax_table; -#else RX_DECL char re_syntax_table[CHAR_SET_SIZE]; -#endif #endif /* not emacs */ @@ -2639,8 +2635,10 @@ startpos = ( search_state.outer_pos.pos - search_state.outer_pos.string + search_state.outer_pos.offset); +#if 0 /*|*/ if ((range > 0) && (startpos == search_state.outer_pos.search_end)) /*|*/ goto finish; +#endif } search_state.test_match_resume_pt = rx_test_start; @@ -2693,7 +2691,7 @@ } /* } while (...see below...) */ if ((search_state.outer_pos.search_direction == 1) - ? (startpos < search_state.outer_pos.search_end) + ? (startpos <= search_state.outer_pos.search_end) : (startpos > search_state.outer_pos.search_end)) goto pseudo_do; @@ -3482,7 +3480,7 @@ #endif /* No more search-stack -- this test is done. */ - if (search_state.test_ret) + if (search_state.test_ret != rx_test_internal_error) goto return_from_test_match; else goto error_in_testing_match; @@ -3511,10 +3509,11 @@ sizeof (struct rx_counter_frame)); } - if (search_state.test_ret == rx_test_error) + if (search_state.test_ret == rx_test_internal_error) { POP (search_state.backtrack_stack, search_state.backtrack_frame_bytes); + search_state.test_ret = rx_test_internal_error; goto test_do_return; }