Work around broken realloc()'s.
authormarc <devnull@localhost>
Wed, 11 Mar 1998 23:28:47 +0000 (23:28 +0000)
committermarc <devnull@localhost>
Wed, 11 Mar 1998 23:28:47 +0000 (23:28 +0000)
CVS patchset: 2037
CVS date: 1998/03/11 23:28:47

build/macro.c

index dc6e617..eb02b61 100644 (file)
@@ -273,8 +273,13 @@ static int compareMacros(const void *ap, const void *bp)
 static void expandMacroTable(struct MacroContext *mc)
 {
     mc->macrosAllocated += MACRO_CHUNK_SIZE;
-    mc->macroTable = realloc(mc->macroTable, sizeof(*(mc->macroTable)) *
-                            mc->macrosAllocated);
+    if (mc->macroTable) {
+       mc->macroTable = realloc(mc->macroTable, sizeof(*(mc->macroTable)) *
+                                mc->macrosAllocated);
+    } else {
+       mc->macroTable = malloc(sizeof(*(mc->macroTable)) *
+                               mc->macrosAllocated);
+    }
 }
 
 /***********************************************************************/