]> the.earth.li Git - onak.git/blobdiff - mem.c
cscvs to tla changeset 81
[onak.git] / mem.c
diff --git a/mem.c b/mem.c
index 1b9627cc145da0a1253295202e3580c5cb1a936f..9bee71d14fe503e9278596f5f4a492db548c399a 100644 (file)
--- a/mem.c
+++ b/mem.c
@@ -4,6 +4,8 @@
  * Jonathan McDowell <noodles@earth.li>
  *
  * Copyright 2002 Project Purple
+ *
+ * $Id: mem.c,v 1.5 2003/06/04 20:57:10 noodles Exp $
  */
 
 #include <assert.h>
@@ -171,3 +173,26 @@ void free_publickey(struct openpgp_publickey *key) {
                key = nextkey;
        }
 }
+
+/**
+ *     free_statskey - free an stats key structure.
+ *     @key: The key to free.
+ *
+ *     Takes a stats key and frees the memory used by it and the linked list
+ *     of sigs under it. Doesn't recurse into the list as it's assumed all the
+ *     objects referenced also exist in the hash.
+ */
+void free_statskey(struct stats_key *key)
+{
+       if (key != NULL) {
+               if (key->sigs != NULL) {
+                       llfree(key->sigs, NULL);
+                       key->sigs = NULL;
+               }
+               if (key->signs != NULL) {
+                       llfree(key->signs, NULL);
+                       key->signs = NULL;
+               }
+               free(key);
+       }
+}