Fix memory leak in rank_sorted_casefile().
[pspp] / src / libpspp / pool.c
index 0e6c9358fc828cd10f027c32d9f5750c7ffd5c23..213efb9ce7cea0aeaac971eea713b03f74a1ff98 100644 (file)
@@ -21,6 +21,7 @@
 #include "pool.h"
 #include <stdlib.h>
 #include "alloc.h"
+#include <libpspp/assertion.h>
 #include "message.h"
 #include "size_max.h"
 #include "str.h"
@@ -776,8 +777,8 @@ pool_register (struct pool *pool, void (*free) (void *), void *p)
 }
 
 /* Unregisters previously registered P from POOL.
-   Returns nonzero only if P was found to be registered in POOL. */
-int
+   Returns true only if P was found to be registered in POOL. */
+bool
 pool_unregister (struct pool *pool, void *p)
 {
   assert (pool && p);
@@ -789,11 +790,11 @@ pool_unregister (struct pool *pool, void *p)
       if (g->type == POOL_GIZMO_REGISTERED && g->p.registered.p == p)
        {
          delete_gizmo (pool, g);
-         return 1;
+         return true;
        }
   }
   
-  return 0;
+  return false;
 }
 \f
 /* Partial freeing. */
@@ -915,7 +916,7 @@ free_gizmo (struct pool_gizmo *gizmo)
       gizmo->p.registered.free (gizmo->p.registered.p);
       break;
     default:
-      assert (0);
+      NOT_REACHED ();
     }
 }