Fixed memory leaks in test suite
[libgit2.git] / src / revobject.h
blobccbb507cc3bb0c961c35d08c7a1d18009ac3bf64
1 #ifndef INCLUDE_objecttable_h__
2 #define INCLUDE_objecttable_h__
4 #include "git/common.h"
5 #include "git/oid.h"
7 struct git_revpool_object {
8 git_oid id;
9 git_revpool *pool;
12 struct git_revpool_node {
13 struct git_revpool_object *object;
14 unsigned int hash;
15 struct git_revpool_node *next;
18 struct git_revpool_table {
19 struct git_revpool_node **nodes;
21 unsigned int size_mask;
22 unsigned int count;
23 unsigned int max_count;
26 struct git_revpool_tableit {
27 struct git_revpool_node **nodes;
28 struct git_revpool_node *current_node;
29 unsigned int current_pos;
30 unsigned int size;
34 typedef struct git_revpool_node git_revpool_node;
35 typedef struct git_revpool_object git_revpool_object;
36 typedef struct git_revpool_table git_revpool_table;
37 typedef struct git_revpool_tableit git_revpool_tableit;
39 git_revpool_table *git_revpool_table_create(unsigned int min_size);
40 int git_revpool_table_insert(git_revpool_table *table, git_revpool_object *object);
41 git_revpool_object *git_revpool_table_lookup(git_revpool_table *table, const git_oid *id);
42 void git_revpool_table_resize(git_revpool_table *table);
43 void git_revpool_table_free(git_revpool_table *table);
46 git_revpool_object *git_revpool_tableit_next(git_revpool_tableit *it);
47 void git_revpool_tableit_init(git_revpool_table *table, git_revpool_tableit *it);
49 #endif