diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2014-07-18 16:00:21 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2014-07-27 17:17:22 +0200 |
commit | 7db0e6ee48fd68009a7e78cbcbca125d6ce9008d (patch) | |
tree | c8d053d8dd5eccf98811ab80a2cc6c6be44a57e7 /include/git2/oidarray.h | |
parent | 091165c53b2bcd5d41fb71d43ed5a23a3d96bf5d (diff) | |
download | libgit2-cmn/oidarray.tar.gz |
merge: expose multiple merge basescmn/oidarray
We always calculate multiple merge bases, but up to now we had only
exposed the "best" merge base.
Introduce git_oidarray which analogously to git_strarray lets us return
multiple ids.
Diffstat (limited to 'include/git2/oidarray.h')
-rw-r--r-- | include/git2/oidarray.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/git2/oidarray.h b/include/git2/oidarray.h new file mode 100644 index 000000000..0b3204597 --- /dev/null +++ b/include/git2/oidarray.h @@ -0,0 +1,40 @@ +/* + * Copyright (C) the libgit2 contributors. All rights reserved. + * + * This file is part of libgit2, distributed under the GNU GPL v2 with + * a Linking Exception. For full terms see the included COPYING file. + */ +#ifndef INCLUDE_git_oidarray_h__ +#define INCLUDE_git_oidarray_h__ + +#include "common.h" +#include "oid.h" + +GIT_BEGIN_DECL + +/** Array of object ids */ +typedef struct git_oidarray { + git_oid *ids; + size_t count; +} git_oidarray; + +/** + * Free the OID array + * + * This method must (and must only) be called on `git_oidarray` + * objects where the array is allocated by the library. Not doing so, + * will result in a memory leak. + * + * This does not free the `git_oidarray` itself, since the library will + * never allocate that object directly itself (it is more commonly embedded + * inside another struct or created on the stack). + * + * @param array git_oidarray from which to free oid data + */ +GIT_EXTERN(void) git_oidarray_free(git_oidarray *array); + +/** @} */ +GIT_END_DECL + +#endif + |