aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/garray.h
diff options
context:
space:
mode:
authorFelipe Oliveira Carvalho <felipekde@gmail.com>2014-06-25 22:03:58 -0300
committerJustin M. Keyes <justinkz@gmail.com>2014-06-30 03:57:50 -0400
commit45e7814e6aa8aacd8772056863d13770d4e30b48 (patch)
tree4a5f6f66176393da31454756af9f375cab804f6c /src/nvim/garray.h
parentbe3a4b6ca81c4e9dd3faa81dc01f53468ceed3ad (diff)
downloadrneovim-45e7814e6aa8aacd8772056863d13770d4e30b48.tar.gz
rneovim-45e7814e6aa8aacd8772056863d13770d4e30b48.tar.bz2
rneovim-45e7814e6aa8aacd8772056863d13770d4e30b48.zip
Introduce GA_APPEND()
This macro is used to append an element to a growable array. It replaces this common idiom: ga_grow(&ga, 1); ((item_type *)ga.ga_data)[ga.ga_len] = item; ++ga.ga_len;
Diffstat (limited to 'src/nvim/garray.h')
-rw-r--r--src/nvim/garray.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nvim/garray.h b/src/nvim/garray.h
index df5740c553..ed5e2dbada 100644
--- a/src/nvim/garray.h
+++ b/src/nvim/garray.h
@@ -16,6 +16,12 @@ typedef struct growarray {
#define GA_EMPTY(ga_ptr) ((ga_ptr)->ga_len <= 0)
+#define GA_APPEND(item_type, gap, item) \
+ do { \
+ ga_grow(gap, 1); \
+ ((item_type *)(gap)->ga_data)[(gap)->ga_len++] = (item); \
+ } while (0)
+
#ifdef INCLUDE_GENERATED_DECLARATIONS
# include "garray.h.generated.h"
#endif