summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1994-04-23 04:07:29 +0000
committerRichard M. Stallman <rms@gnu.org>1994-04-23 04:07:29 +0000
commitcbbe9053a6c68f3eb28adec66f31398ff2c646ea (patch)
tree67d4fd148995d0408f20722898f3a40ee814b1bd /src
parent4fe9b5636846e327d660d89fbc2a42a8b08fca21 (diff)
downloademacs-cbbe9053a6c68f3eb28adec66f31398ff2c646ea.tar.gz
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/regex.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/regex.c b/src/regex.c
index 5316aaa4eae..52632225866 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. */