diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2018-01-21 18:01:20 +0000 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2018-02-04 10:29:41 +0000 |
commit | ed51feb74b33ca115ddf739ce3574a76cb7a6fa6 (patch) | |
tree | f2eb026fdb35cf8860b2313573abd10c274a472d | |
parent | 7bd89502d818681ee220282d890891d9c11abeb1 (diff) | |
download | libgit2-ed51feb74b33ca115ddf739ce3574a76cb7a6fa6.tar.gz |
oidarray: introduce git_oidarray__reverse
Provide a simple function to reverse an oidarray.
-rw-r--r-- | src/oidarray.c | 12 | ||||
-rw-r--r-- | src/oidarray.h | 1 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/oidarray.c b/src/oidarray.c index fda3b638d..e70e9dd61 100644 --- a/src/oidarray.c +++ b/src/oidarray.c @@ -20,3 +20,15 @@ void git_oidarray__from_array(git_oidarray *arr, git_array_oid_t *array) arr->count = array->size; arr->ids = array->ptr; } + +void git_oidarray__reverse(git_oidarray *arr) +{ + size_t i; + git_oid tmp; + + for (i = 0; i < arr->count / 2; i++) { + git_oid_cpy(&tmp, &arr->ids[i]); + git_oid_cpy(&arr->ids[i], &arr->ids[(arr->count-1)-i]); + git_oid_cpy(&arr->ids[(arr->count-1)-i], &tmp); + } +} diff --git a/src/oidarray.h b/src/oidarray.h index f051a0ec4..eed3a1091 100644 --- a/src/oidarray.h +++ b/src/oidarray.h @@ -14,6 +14,7 @@ typedef git_array_t(git_oid) git_array_oid_t; +extern void git_oidarray__reverse(git_oidarray *arr); extern void git_oidarray__from_array(git_oidarray *arr, git_array_oid_t *array); #endif |