]> git.eshelyaron.com Git - emacs.git/commitdiff
(r_alloc_free): Call refill_memory_reserve only if emacs.
authorRichard M. Stallman <rms@gnu.org>
Tue, 14 Feb 1995 14:27:18 +0000 (14:27 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 14 Feb 1995 14:27:18 +0000 (14:27 +0000)
Include getpagesize.h unconditionally.
(free_bloc): Don't die if bloc->next or bloc->prev is null.
[!emacs] (bzero): New macro definition.

src/ralloc.c

index f27d0c64636f43e70588f7ea6600233d96df65ff..a0731eee6fc4d2974e4903259928a33b76a0cd47 100644 (file)
@@ -56,9 +56,7 @@ typedef unsigned long SIZE;
    overlap.  */
 extern void safe_bcopy ();
 
-#include "getpagesize.h"
-
-#else  /* Not emacs.  */
+#else /* not emacs */
 
 #include <stddef.h>
 
@@ -70,8 +68,11 @@ typedef void *POINTER;
 #include <string.h>
 
 #define safe_bcopy(x, y, z) memmove (y, x, z)
+#define bzero(x, len) memset (x, 0, len)
+
+#endif /* not emacs */
 
-#endif /* emacs.  */
+#include "getpagesize.h"
 
 #define NIL ((POINTER) 0)
 
@@ -691,14 +692,14 @@ free_bloc (bloc)
   /* Update the records of which blocs are in HEAP.  */
   if (heap->first_bloc == bloc)
     {
-      if (bloc->next->heap == heap)
+      if (bloc->next != 0 && bloc->next->heap == heap)
        heap->first_bloc = bloc->next;
       else
        heap->first_bloc = heap->last_bloc = NIL_BLOC;
     }
   if (heap->last_bloc == bloc)
     {
-      if (bloc->prev->heap == heap)
+      if (bloc->prev != 0 && bloc->prev->heap == heap)
        heap->last_bloc = bloc->prev;
       else
        heap->first_bloc = heap->last_bloc = NIL_BLOC;
@@ -900,7 +901,9 @@ r_alloc_free (ptr)
   free_bloc (dead_bloc);
   *ptr = 0;
 
+#ifdef emacs
   refill_memory_reserve ();
+#endif
 }
 
 /* Given a pointer at address PTR to relocatable data, resize it to SIZE.