Some versions of realloc (e.g. SunOS4) do not understand
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Tue, 15 Jun 1993 19:02:11 +0000 (19:02 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Tue, 15 Jun 1993 19:02:11 +0000 (19:02 +0000)
 realloc(NULL, size).

v7/src/microcode/cmpauxmd/c.c

index c78ec786cff19061fd755ff83536a24ece50bb5a..205c505784f7b74cedc25400fcd56d58de3fa878 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Id: c.c,v 1.2 1993/06/09 09:01:13 jawilson Exp $
+$Id: c.c,v 1.3 1993/06/15 19:02:11 gjr Exp $
 
 Copyright (c) 1992-1993 Massachusetts Institute of Technology
 
@@ -100,6 +100,20 @@ DEFUN_VOID (NO_SUBBLOCKS)
   return;
 }
 
+PTR
+DEFUN (lrealloc, (ptr, size),
+       PTR ptr
+       AND unsigned long size)
+{
+  extern PTR EXFUN (malloc, (unsigned long));
+  extern PTR EXFUN (realloc, (PTR, unsigned long));
+
+  if (ptr == ((PTR) NULL))
+    return (malloc (size));
+  else
+    return (realloc (ptr, size));
+}
+
 int
 DEFUN (declare_compiled_code, (name, decl_proc, code_proc),
        char * name
@@ -122,13 +136,13 @@ DEFUN (declare_compiled_code, (name, decl_proc, code_proc),
                                 : (compiled_code_blocks_size * 2));
     new_blocks =
       ((compiled_block *)
-       (realloc (compiled_code_blocks,
-                (compiled_code_blocks_size * (sizeof (compiled_block))))));
+       (lrealloc (compiled_code_blocks,
+                 (compiled_code_blocks_size * (sizeof (compiled_block))))));
     
     new_names =
       ((char **)
-       (realloc (compiled_block_names,
-                (compiled_code_blocks_size * (sizeof (char *))))));
+       (lrealloc (compiled_block_names,
+                 (compiled_code_blocks_size * (sizeof (char *))))));
 
     if ((new_blocks == ((compiled_block *) NULL))
        || (new_names == ((char **) NULL)))