diff options
author | Ben Straub <bstraub@github.com> | 2012-07-17 08:08:34 -0700 |
---|---|---|
committer | Ben Straub <bstraub@github.com> | 2012-07-17 08:08:34 -0700 |
commit | bfc65634050dc52e3ed6b4497ebbb511e39d6e1e (patch) | |
tree | 32b03847b8a152b69bc3b48b6bb32e7b8621f45e /src/mwindow.c | |
parent | 1d68fcd04b21a2c5665d0ca6a5543e7166c73457 (diff) | |
parent | ea5d2ce4cfa6cec89e2d844a70d1eb24bb401c7d (diff) | |
download | libgit2-bfc65634050dc52e3ed6b4497ebbb511e39d6e1e.tar.gz |
Merge branch 'development' into clone
Diffstat (limited to 'src/mwindow.c')
-rw-r--r-- | src/mwindow.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mwindow.c b/src/mwindow.c index 57adabd48..1a5446b9c 100644 --- a/src/mwindow.c +++ b/src/mwindow.c @@ -158,6 +158,7 @@ static git_mwindow *new_window( git_mwindow *w; w = git__malloc(sizeof(*w)); + if (w == NULL) return NULL; @@ -260,6 +261,23 @@ int git_mwindow_file_register(git_mwindow_file *mwf) return git_vector_insert(&ctl->windowfiles, mwf); } +int git_mwindow_file_deregister(git_mwindow_file *mwf) +{ + git_mwindow_ctl *ctl = &GIT_GLOBAL->mem_ctl; + git_mwindow_file *cur; + unsigned int i; + + git_vector_foreach(&ctl->windowfiles, i, cur) { + if (cur == mwf) { + git_vector_remove(&ctl->windowfiles, i); + return 0; + } + } + + giterr_set(GITERR_ODB, "Failed to find the memory window file to deregister"); + return -1; +} + void git_mwindow_close(git_mwindow **window) { git_mwindow *w = *window; |