summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill A. Shutemov <kirill@shutemov.name>2011-07-18 04:01:27 +0300
committerVicent Marti <tanoku@gmail.com>2011-07-25 21:12:47 +0200
commitb2dd681512b66007e026c0c405b2524d8fa6712c (patch)
treea5bb743034931b866a596a81cb1a625809cf9789
parent51917d9ca252744764acfaafb303be2f6cdefb85 (diff)
downloadlibgit2-b2dd681512b66007e026c0c405b2524d8fa6712c.tar.gz
index: introduce index_entry_free()
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
-rw-r--r--src/index.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/index.c b/src/index.c
index 2eb080924..34ebc3247 100644
--- a/src/index.c
+++ b/src/index.c
@@ -349,6 +349,14 @@ static git_index_entry *index_entry_dup(const git_index_entry *source_entry)
return entry;
}
+static void index_entry_free(git_index_entry *entry)
+{
+ if (!entry)
+ return;
+ free(entry->path);
+ free(entry);
+}
+
static int index_insert(git_index *index, const git_index_entry *source_entry, int replace)
{
git_index_entry *entry;
@@ -402,15 +410,13 @@ static int index_insert(git_index *index, const git_index_entry *source_entry, i
/* exists, replace it */
entry_array = (git_index_entry **) index->entries.contents;
- free(entry_array[position]->path);
- free(entry_array[position]);
+ index_entry_free(entry_array[position]);
entry_array[position] = entry;
return GIT_SUCCESS;
cleanup_oom:
- free(entry->path);
- free(entry);
+ index_entry_free(entry);
return GIT_ENOMEM;;
}