]> the.earth.li Git - onak.git/blobdiff - mem.c
cscvs to tla changeset 76
[onak.git] / mem.c
diff --git a/mem.c b/mem.c
index 1b9627cc145da0a1253295202e3580c5cb1a936f..325b07a75acc76e05af7c8d4ac8b0dfa46cc2bf4 100644 (file)
--- a/mem.c
+++ b/mem.c
@@ -171,3 +171,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);
+       }
+}