Actually store the files strings in the files string pool
authorJames Bowes <jbowes@redhat.com>
Mon, 23 Jun 2008 18:51:56 +0000 (14:51 -0400)
committerJames Bowes <jbowes@redhat.com>
Mon, 23 Jun 2008 18:51:56 +0000 (14:51 -0400)
librazor/importer.c
librazor/razor.c

index e2da1b7..ec96c2e 100644 (file)
@@ -314,7 +314,7 @@ build_file_tree(struct razor_importer *importer)
                              compare_filenames,
                              NULL);
 
-       root.name = hashtable_tokenize(&importer->table, "");
+       root.name = hashtable_tokenize(&importer->file_table, "");
        array_init(&root.files);
        array_init(&root.packages);
        root.last = NULL;
@@ -334,7 +334,8 @@ build_file_tree(struct razor_importer *importer)
                        length = end - f;
                        memcpy(dirname, f, length);
                        dirname[length] ='\0';
-                       name = hashtable_tokenize(&importer->table, dirname);
+                       name = hashtable_tokenize(&importer->file_table,
+                                                 dirname);
                        if (d->last == NULL || d->last->name != name) {
                                d->last = array_add(&d->files, sizeof *d);
                                d->last->name = name;
@@ -501,6 +502,8 @@ razor_importer_finish(struct razor_importer *importer)
 
        set = importer->set;
        hashtable_release(&importer->table);
+       hashtable_release(&importer->details_table);
+       hashtable_release(&importer->file_table);
        free(importer);
 
        return set;
index 74f051e..7b5094d 100644 (file)
@@ -400,7 +400,7 @@ razor_set_find_entry(struct razor_set *set,
                     struct razor_entry *dir, const char *pattern)
 {
        struct razor_entry *e;
-       const char *n, *pool = set->string_pool.data;
+       const char *n, *pool = set->file_string_pool.data;
        int len;
 
        e = (struct razor_entry *) set->files.data + dir->start;