#define _GNU_SOURCE
#endif
-#if HAVE_CONFIG_H
-#include <config.h>
-#endif
-
\f
-char rx_version_string[] = "GNU Rx version 0.07.1";
+const char *rx_version_string = "GNU Rx version 0.07.2";
/* ``Too hard!''
* -- anon.
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)
{
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;
struct re_search_2_closure
{
- __const__ char * string1;
+ __const__ unsigned char * string1;
int size1;
- __const__ char * string2;
+ __const__ unsigned char * string2;
int size2;
};
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];
/* 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;
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);
#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 \
#endif
extern int rx_cache_bound;
-extern char rx_version_string[];
+extern const char *rx_version_string;
\f
#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 */
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;
} /* } 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;
#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;
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;
}