# HG changeset patch # User Chong Yidong # Date 1140452721 0 # Node ID b2288bb7d88f1ad12665e7252686a5720c539691 # Parent 2e60323be52d34e848d21f79c80403d6e23f8848 * regex.c (xmalloc, xrealloc): Define these when not linked to Emacs. diff -r 2e60323be52d -r b2288bb7d88f src/ChangeLog --- a/src/ChangeLog Mon Feb 20 15:59:51 2006 +0000 +++ b/src/ChangeLog Mon Feb 20 16:25:21 2006 +0000 @@ -1,3 +1,8 @@ +2006-02-20 Chong Yidong + + * regex.c (xmalloc, xrealloc): Define these when not linked to + Emacs. + 2006-02-19 Luc Teirlinck * regex.c (extend_range_table_work_area): Fix typo. diff -r 2e60323be52d -r b2288bb7d88f src/regex.c --- a/src/regex.c Mon Feb 20 15:59:51 2006 +0000 +++ b/src/regex.c Mon Feb 20 16:25:21 2006 +0000 @@ -181,6 +181,42 @@ 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