+2006-02-20 Chong Yidong <cyd@stupidchicken.com>
+
+ * regex.c (xmalloc, xrealloc): Define these when not linked to
+ Emacs.
+
2006-02-19 Luc Teirlinck <teirllm@auburn.edu>
* regex.c (extend_range_table_work_area): Fix typo.
char *realloc ();
# endif
+/* When used in Emacs's lib-src, we need xmalloc and xrealloc. */
+
+void *
+xmalloc (size)
+ size_t size;
+{
+ register void *val;
+ val = (void *) malloc (size);
+ if (!val && size)
+ {
+ write (2, "virtual memory exhausted\n", 25);
+ exit (1);
+ }
+ return val;
+}
+
+void *
+xrealloc (block, size)
+ void *block;
+ size_t size;
+{
+ register void *val;
+ /* We must call malloc explicitly when BLOCK is 0, since some
+ reallocs don't do this. */
+ if (! block)
+ val = (void *) malloc (size);
+ else
+ val = (void *) realloc (block, size);
+ if (!val && size)
+ {
+ write (2, "virtual memory exhausted\n", 25);
+ exit (1);
+ }
+ return val;
+}
+
/* When used in Emacs's lib-src, we need to get bzero and bcopy somehow.
If nothing else has been done, use the method below. */
# ifdef INHIBIT_STRING_HEADER