diff options
author | Felipe Oliveira Carvalho <felipekde@gmail.com> | 2014-06-25 22:03:58 -0300 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2014-06-30 03:57:50 -0400 |
commit | 45e7814e6aa8aacd8772056863d13770d4e30b48 (patch) | |
tree | 4a5f6f66176393da31454756af9f375cab804f6c /src/nvim/garray.h | |
parent | be3a4b6ca81c4e9dd3faa81dc01f53468ceed3ad (diff) | |
download | rneovim-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.h | 6 |
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 |