From 69cfde45160c1e4541babdeca163ea5c7ddaefa8 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Fri, 26 May 2017 22:59:17 +0800 Subject: [PATCH] Add new function for vector (future proof) --- jni/utils/vector.c | 6 ++++++ jni/utils/vector.h | 1 + 2 files changed, 7 insertions(+) diff --git a/jni/utils/vector.c b/jni/utils/vector.c index bd2c323e0..43e5d6b59 100644 --- a/jni/utils/vector.c +++ b/jni/utils/vector.c @@ -23,6 +23,12 @@ void vec_push_back(struct vector *v, void *p) { ++vec_size(v); } +void *vec_pop_back(struct vector *v) { + void *ret = vec_entry(v)[vec_size(v) - 1]; + --vec_size(v); + return ret; +} + void vec_sort(struct vector *v, int (*compar)(const void *, const void *)) { if (v == NULL) return; qsort(vec_entry(v), vec_size(v), sizeof(void*), compar); diff --git a/jni/utils/vector.h b/jni/utils/vector.h index ef169f21d..3d74902c2 100644 --- a/jni/utils/vector.h +++ b/jni/utils/vector.h @@ -14,6 +14,7 @@ struct vector { void vec_init(struct vector *v); void vec_push_back(struct vector *v, void *p); +void *vec_pop_back(struct vector *v); void vec_sort(struct vector *v, int (*compar)(const void *, const void *)); void vec_destroy(struct vector *v); void vec_deep_destroy(struct vector *v);