diff options
author | ZyX <kp-pav@yandex.ru> | 2016-05-01 05:10:27 +0300 |
---|---|---|
committer | ZyX <kp-pav@yandex.ru> | 2016-05-30 21:19:52 +0300 |
commit | d007c2977bada0db7fa1da6748ba33a7cd33bb86 (patch) | |
tree | b38063d8b5b8805200ce2264b2dbd3af57be7066 | |
parent | 8cfb272c74b760c5c6224bc7b73358d982e117ab (diff) | |
download | rneovim-d007c2977bada0db7fa1da6748ba33a7cd33bb86.tar.gz rneovim-d007c2977bada0db7fa1da6748ba33a7cd33bb86.tar.bz2 rneovim-d007c2977bada0db7fa1da6748ba33a7cd33bb86.zip |
lib/kvec: Do not use kv_init unless needed
-rw-r--r-- | src/nvim/eval/decode.c | 6 | ||||
-rw-r--r-- | src/nvim/lib/kvec.h | 12 | ||||
-rw-r--r-- | src/nvim/msgpack_rpc/channel.c | 3 |
3 files changed, 12 insertions, 9 deletions
diff --git a/src/nvim/eval/decode.c b/src/nvim/eval/decode.c index 4a4a697e73..43e9f76c0f 100644 --- a/src/nvim/eval/decode.c +++ b/src/nvim/eval/decode.c @@ -628,10 +628,8 @@ int json_decode_string(const char *const buf, const size_t buf_len, convert_setup(&conv, (char_u *) "utf-8", p_enc); conv.vc_fail = true; int ret = OK; - ValuesStack stack; - kv_init(stack); - ContainerStack container_stack; - kv_init(container_stack); + ValuesStack stack = KV_INITIAL_VALUE; + ContainerStack container_stack = KV_INITIAL_VALUE; rettv->v_type = VAR_UNKNOWN; bool didcomma = false; bool didcolon = false; diff --git a/src/nvim/lib/kvec.h b/src/nvim/lib/kvec.h index 92a1232354..b86548e473 100644 --- a/src/nvim/lib/kvec.h +++ b/src/nvim/lib/kvec.h @@ -28,8 +28,7 @@ #include "kvec.h" int main() { - kvec_t(int) array; - kv_init(array); + kvec_t(int) array = KV_INITIAL_VALUE; kv_push(array, 10); // append kv_a(array, 20) = 5; // dynamic kv_A(array, 20) = 4; // static @@ -53,7 +52,14 @@ int main() { #define kv_roundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) -#define kvec_t(type) struct { size_t size, capacity; type *items; } +#define KV_INITIAL_VALUE { .size = 0, .capacity = 0, .items = NULL } + +#define kvec_t(type) \ + struct { \ + size_t size; \ + size_t capacity; \ + type *items; \ + } #define kv_init(v) ((v).size = (v).capacity = 0, (v).items = 0) #define kv_destroy(v) xfree((v).items) #define kv_A(v, i) ((v).items[(i)]) diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c index f6d437dee7..21cdd4aa23 100644 --- a/src/nvim/msgpack_rpc/channel.c +++ b/src/nvim/msgpack_rpc/channel.c @@ -574,8 +574,7 @@ static void send_event(Channel *channel, static void broadcast_event(char *name, Array args) { - kvec_t(Channel *) subscribed; - kv_init(subscribed); + kvec_t(Channel *) subscribed = KV_INITIAL_VALUE; Channel *channel; map_foreach_value(channels, channel, { |