aboutsummaryrefslogtreecommitdiffstats
path: root/src/regex.c
diff options
context:
space:
mode:
authorRichard M. Stallman <[email protected]>1994-04-23 04:07:29 +0000
committerRichard M. Stallman <[email protected]>1994-04-23 04:07:29 +0000
commitcbbe9053a6c68f3eb28adec66f31398ff2c646ea (patch)
tree67d4fd148995d0408f20722898f3a40ee814b1bd /src/regex.c
parent4fe9b5636846e327d660d89fbc2a42a8b08fca21 (diff)
*** empty log message ***
Diffstat (limited to 'src/regex.c')
-rw-r--r--src/regex.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/regex.c b/src/regex.c
index 5316aaa4ea..5263222586 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -2495,15 +2495,28 @@ regex_compile (pattern, size, syntax, bufp)
if (fail_stack.size < (2 * re_max_failures * MAX_FAILURE_ITEMS))
{
fail_stack.size = (2 * re_max_failures * MAX_FAILURE_ITEMS);
+
+#ifdef emacs
+ if (! fail_stack.stack)
+ fail_stack.stack
+ = (fail_stack_elt_t *) xmalloc (fail_stack.size
+ * sizeof (fail_stack_elt_t));
+ else
+ fail_stack.stack
+ = (fail_stack_elt_t *) xrealloc (fail_stack.stack,
+ (fail_stack.size
+ * sizeof (fail_stack_elt_t)));
+#else /* not emacs */
if (! fail_stack.stack)
- fail_stack.stack =
- (fail_stack_elt_t *) malloc (fail_stack.size
- * sizeof (fail_stack_elt_t));
+ fail_stack.stack
+ = (fail_stack_elt_t *) malloc (fail_stack.size
+ * sizeof (fail_stack_elt_t));
else
- fail_stack.stack =
- (fail_stack_elt_t *) realloc (fail_stack.stack,
- (fail_stack.size
- * sizeof (fail_stack_elt_t)));
+ fail_stack.stack
+ = (fail_stack_elt_t *) realloc (fail_stack.stack,
+ (fail_stack.size
+ * sizeof (fail_stack_elt_t)));
+#endif /* not emacs */
}
/* Initialize some other variables the matcher uses. */