XEmacs 21.4.12 "Portable Code".
[chise/xemacs-chise.git.1] / src / free-hook.c
index cac4a86..4dbd9ba 100644 (file)
@@ -85,14 +85,14 @@ void *malloc (size_t);
 /* System function prototypes don't belong in C source files */
 /* extern void free (void *); */
 
-struct hash_table *pointer_table;
+static struct hash_table *pointer_table;
 
 extern void (*__free_hook) (void *);
 extern void *(*__malloc_hook) (size_t);
 
 static void *check_malloc (size_t);
 
-typedef void (*fun_ptr) ();
+typedef void (*fun_ptr) (void);
 
 /* free_queue is not too useful without backtrace logging */
 #define FREE_QUEUE_LIMIT 1
@@ -110,11 +110,11 @@ typedef struct {
   unsigned long length;
 } free_queue_entry;
 
-free_queue_entry free_queue[FREE_QUEUE_LIMIT];
+static free_queue_entry free_queue[FREE_QUEUE_LIMIT];
 
-int current_free;
+static int current_free;
 
-int strict_free_check;
+static int strict_free_check;
 
 static void
 check_free (void *ptr)
@@ -131,7 +131,7 @@ check_free (void *ptr)
 #endif
 
       EMACS_INT present = (EMACS_INT) gethash (ptr, pointer_table,
-                                              (CONST void **) &size);
+                                              (const void **) &size);
 
       if (!present)
        {
@@ -257,7 +257,7 @@ check_realloc (void * ptr, size_t size)
   void *result = malloc (size);
 
   if (!ptr) return result;
-  present = (EMACS_INT) gethash (ptr, pointer_table, (CONST void **) &old_size);
+  present = (EMACS_INT) gethash (ptr, pointer_table, (const void **) &old_size);
   if (!present)
     {
     /* This can only happen by reallocing a pointer that didn't
@@ -491,6 +491,8 @@ log_gcpro (char *file, int line, struct gcpro *value, blocktype type)
       if (value == gcprolist->next->next) goto OK;
       if (! gcprolist->next->next) abort ();
       if (value == gcprolist->next->next->next) goto OK;
+      if (! gcprolist->next->next->next) abort ();
+      if (value == gcprolist->next->next->next->next) goto OK;
       abort ();
     OK:;
     }
@@ -587,6 +589,7 @@ show_gcprohist (void)
               gcprohist[j].type == gcpro2_type ? "GCPRO2" :
               gcprohist[j].type == gcpro3_type ? "GCPRO3" :
               gcprohist[j].type == gcpro4_type ? "GCPRO4" :
+              gcprohist[j].type == gcpro5_type ? "GCPRO5" :
               gcprohist[j].type == ungcpro_type ? "UNGCPRO" : "???"),
              gcprohist[j].value);
     }