aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2017-09-10 21:38:43 +0300
committerZyX <kp-pav@yandex.ru>2017-09-29 01:21:22 +0300
commite479f3b944614f28c42ec597ec473652f3ac9912 (patch)
treef50b198c57b3f3509110fd52f9d7cdff60a30c1f
parent190c8516f534499f89d610fc78a20c025386b2f2 (diff)
downloadrneovim-e479f3b944614f28c42ec597ec473652f3ac9912.tar.gz
rneovim-e479f3b944614f28c42ec597ec473652f3ac9912.tar.bz2
rneovim-e479f3b944614f28c42ec597ec473652f3ac9912.zip
kvec: Add kv_drop() which is to be used like `(void)kv_pop(kvec)`
-rw-r--r--src/nvim/lib/kvec.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/nvim/lib/kvec.h b/src/nvim/lib/kvec.h
index 584282d773..4e5fb0d794 100644
--- a/src/nvim/lib/kvec.h
+++ b/src/nvim/lib/kvec.h
@@ -64,6 +64,14 @@
#define kv_max(v) ((v).capacity)
#define kv_last(v) kv_A(v, kv_size(v) - 1)
+/// Drop last n items from kvec without resizing
+///
+/// Previously spelled as `(void)kv_pop(v)`, repeated n times.
+///
+/// @param[out] v Kvec to drop items from.
+/// @param[in] n Number of elements to drop.
+#define kv_drop(v, n) ((v).size -= (n))
+
#define kv_resize(v, s) \
((v).capacity = (s), \
(v).items = xrealloc((v).items, sizeof((v).items[0]) * (v).capacity))