aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2016-05-01 05:10:27 +0300
committerZyX <kp-pav@yandex.ru>2016-05-30 21:19:52 +0300
commitd007c2977bada0db7fa1da6748ba33a7cd33bb86 (patch)
treeb38063d8b5b8805200ce2264b2dbd3af57be7066 /src
parent8cfb272c74b760c5c6224bc7b73358d982e117ab (diff)
downloadrneovim-d007c2977bada0db7fa1da6748ba33a7cd33bb86.tar.gz
rneovim-d007c2977bada0db7fa1da6748ba33a7cd33bb86.tar.bz2
rneovim-d007c2977bada0db7fa1da6748ba33a7cd33bb86.zip
lib/kvec: Do not use kv_init unless needed
Diffstat (limited to 'src')
-rw-r--r--src/nvim/eval/decode.c6
-rw-r--r--src/nvim/lib/kvec.h12
-rw-r--r--src/nvim/msgpack_rpc/channel.c3
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, {