summaryrefslogtreecommitdiff
path: root/src/revobject.c
diff options
context:
space:
mode:
authorVicent Marti <tanoku@gmail.com>2010-05-28 00:23:43 +0200
committerAndreas Ericsson <ae@op5.se>2010-06-02 10:32:07 +0200
commit9b3577eda0e6bb13d18a304763b91665575adfd3 (patch)
treef89099c671ed8df50e040b7a62989b451366d084 /src/revobject.c
parent0cf02ff92d5c08516ff2253f59daad1c4c582d8f (diff)
downloadlibgit2-9b3577eda0e6bb13d18a304763b91665575adfd3.tar.gz
Fixed brace placement and converted spaces to tabs.
Signed-off-by: Vicent Marti <tanoku@gmail.com> Signed-off-by: Andreas Ericsson <ae@op5.se>
Diffstat (limited to 'src/revobject.c')
-rw-r--r--src/revobject.c230
1 files changed, 111 insertions, 119 deletions
diff --git a/src/revobject.c b/src/revobject.c
index 45fb97389..a0d9ac96c 100644
--- a/src/revobject.c
+++ b/src/revobject.c
@@ -34,10 +34,9 @@ unsigned int git_revpool_table__hash(const git_oid *id)
const int r = 24;
unsigned int h = 0xA8A3D5;
- int i;
+ int i;
- for (i = 0; i < GIT_OID_RAWSZ / 4; ++i)
- {
+ for (i = 0; i < GIT_OID_RAWSZ / 4; ++i) {
unsigned int k = ((unsigned int *)id->id)[i];
k *= m;
@@ -45,7 +44,7 @@ unsigned int git_revpool_table__hash(const git_oid *id)
k *= m;
h *= m;
h ^= k;
- }
+ }
h ^= h >> 13;
h *= m;
@@ -56,169 +55,162 @@ unsigned int git_revpool_table__hash(const git_oid *id)
git_revpool_table *git_revpool_table_create(unsigned int min_size)
{
- git_revpool_table *table;
- int i;
+ git_revpool_table *table;
+ int i;
- table = git__malloc(sizeof(table));
+ table = git__malloc(sizeof(table));
- if (table == NULL)
- return NULL;
+ if (table == NULL)
+ return NULL;
- // round up size to closest power of 2
- min_size--;
- min_size |= min_size >> 1;
- min_size |= min_size >> 2;
- min_size |= min_size >> 4;
- min_size |= min_size >> 8;
- min_size |= min_size >> 16;
+ // round up size to closest power of 2
+ min_size--;
+ min_size |= min_size >> 1;
+ min_size |= min_size >> 2;
+ min_size |= min_size >> 4;
+ min_size |= min_size >> 8;
+ min_size |= min_size >> 16;
- table->size_mask = min_size;
- table->count = 0;
- table->max_count = (min_size + 1) * max_load_factor;
+ table->size_mask = min_size;
+ table->count = 0;
+ table->max_count = (min_size + 1) * max_load_factor;
- table->nodes = git__malloc((min_size + 1) * sizeof(git_revpool_node *));
+ table->nodes = git__malloc((min_size + 1) * sizeof(git_revpool_node *));
- if (table->nodes == NULL)
- {
- free(table);
- return NULL;
- }
+ if (table->nodes == NULL) {
+ free(table);
+ return NULL;
+ }
- for (i = 0; i <= min_size; ++i)
- table->nodes[i] = NULL;
+ for (i = 0; i <= min_size; ++i)
+ table->nodes[i] = NULL;
- return table;
+ return table;
}
int git_revpool_table_insert(git_revpool_table *table, git_revpool_object *object)
{
- git_revpool_node *node;
- unsigned int index, hash;
+ git_revpool_node *node;
+ unsigned int index, hash;
- if (table == NULL)
- return -1;
+ if (table == NULL)
+ return -1;
- if (table->count + 1 > table->max_count)
- git_revpool_table_resize(table);
+ if (table->count + 1 > table->max_count)
+ git_revpool_table_resize(table);
- node = git__malloc(sizeof(git_revpool_node));
- if (node == NULL)
- return -1;
+ node = git__malloc(sizeof(git_revpool_node));
+ if (node == NULL)
+ return -1;
- hash = git_revpool_table__hash(&object->id);
- index = (hash & table->size_mask);
+ hash = git_revpool_table__hash(&object->id);
+ index = (hash & table->size_mask);
- node->object = object;
- node->hash = hash;
- node->next = table->nodes[index];
+ node->object = object;
+ node->hash = hash;
+ node->next = table->nodes[index];
- table->nodes[index] = node;
- table->count++;
+ table->nodes[index] = node;
+ table->count++;
- return 0;
+ return 0;
}
git_revpool_object *git_revpool_table_lookup(git_revpool_table *table, const git_oid *id)
{
- git_revpool_node *node;
- unsigned int index, hash;
+ git_revpool_node *node;
+ unsigned int index, hash;
- if (table == NULL)
- return NULL;
+ if (table == NULL)
+ return NULL;
- hash = git_revpool_table__hash(id);
- index = (hash & table->size_mask);
- node = table->nodes[index];
+ hash = git_revpool_table__hash(id);
+ index = (hash & table->size_mask);
+ node = table->nodes[index];
- while (node != NULL)
- {
- if (node->hash == hash && git_oid_cmp(id, &node->object->id) == 0)
- return node->object;
+ while (node != NULL) {
+ if (node->hash == hash && git_oid_cmp(id, &node->object->id) == 0)
+ return node->object;
- node = node->next;
- }
+ node = node->next;
+ }
- return NULL;
+ return NULL;
}
void git_revpool_table_resize(git_revpool_table *table)
{
- git_revpool_node **new_nodes;
- unsigned int new_size, i;
-
- new_size = (table->size_mask + 1) * 2;
-
- new_nodes = git__malloc(new_size * sizeof(git_revpool_node *));
- if (new_nodes == NULL)
- return;
-
- memset(new_nodes, 0x0, new_size * sizeof(git_revpool_node *));
-
- for (i = 0; i <= table->size_mask; ++i)
- {
- git_revpool_node *n;
- unsigned int index;
-
- while ((n = table->nodes[i]) != NULL)
- {
- table->nodes[i] = n->next;
- index = n->hash & (new_size - 1);
- n->next = new_nodes[index];
- new_nodes[index] = n;
- }
- }
-
- free(table->nodes);
- table->nodes = new_nodes;
- table->size_mask = (new_size - 1);
- table->max_count = new_size * max_load_factor;
+ git_revpool_node **new_nodes;
+ unsigned int new_size, i;
+
+ new_size = (table->size_mask + 1) * 2;
+
+ new_nodes = git__malloc(new_size * sizeof(git_revpool_node *));
+ if (new_nodes == NULL)
+ return;
+
+ memset(new_nodes, 0x0, new_size * sizeof(git_revpool_node *));
+
+ for (i = 0; i <= table->size_mask; ++i) {
+ git_revpool_node *n;
+ unsigned int index;
+
+ while ((n = table->nodes[i]) != NULL) {
+ table->nodes[i] = n->next;
+ index = n->hash & (new_size - 1);
+ n->next = new_nodes[index];
+ new_nodes[index] = n;
+ }
+ }
+
+ free(table->nodes);
+ table->nodes = new_nodes;
+ table->size_mask = (new_size - 1);
+ table->max_count = new_size * max_load_factor;
}
void git_revpool_table_free(git_revpool_table *table)
{
- int index;
-
- for (index = 0; index <= table->size_mask; ++index)
- {
- git_revpool_node *node, *next_node;
-
- node = table->nodes[index];
- while (node != NULL)
- {
- next_node = node->next;
- free(node);
- node = next_node;
- }
- }
-
- free(table);
+ int index;
+
+ for (index = 0; index <= table->size_mask; ++index) {
+ git_revpool_node *node, *next_node;
+
+ node = table->nodes[index];
+ while (node != NULL) {
+ next_node = node->next;
+ free(node);
+ node = next_node;
+ }
+ }
+
+ free(table);
}
void git_revpool_tableit_init(git_revpool_table *table, git_revpool_tableit *it)
{
- memset(it, 0x0, sizeof(git_revpool_tableit));
+ memset(it, 0x0, sizeof(git_revpool_tableit));
- it->nodes = table->nodes;
- it->current_node = NULL;
- it->current_pos = 0;
- it->size = table->size_mask + 1;
+ it->nodes = table->nodes;
+ it->current_node = NULL;
+ it->current_pos = 0;
+ it->size = table->size_mask + 1;
}
git_revpool_object *git_revpool_tableit_next(git_revpool_tableit *it)
{
- git_revpool_node *next = NULL;
+ git_revpool_node *next = NULL;
- while (it->current_node == NULL)
- {
- if (it->current_pos >= it->size)
- return NULL;
+ while (it->current_node == NULL) {
+ if (it->current_pos >= it->size)
+ return NULL;
- it->current_node = it->nodes[it->current_pos++];
- }
+ it->current_node = it->nodes[it->current_pos++];
+ }
- next = it->current_node;
- it->current_node = it->current_node->next;
+ next = it->current_node;
+ it->current_node = it->current_node->next;
- return next->object;
+ return next->object;
}