aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/encode.c
diff options
context:
space:
mode:
authorSean Dewar <seandewar@users.noreply.github.com>2021-08-02 19:27:52 +0100
committerSean Dewar <seandewar@users.noreply.github.com>2021-09-15 21:19:30 +0100
commitaf6f454f5c3349821b20bd2f0d846f7ae7343e2e (patch)
tree5d1a8e10ee22c45f3b85e37cb6ec86030bd68f29 /src/nvim/eval/encode.c
parentab82369c8eb1bf6a58f848e7cb3fb3275d13ed8b (diff)
downloadrneovim-af6f454f5c3349821b20bd2f0d846f7ae7343e2e.tar.gz
rneovim-af6f454f5c3349821b20bd2f0d846f7ae7343e2e.tar.bz2
rneovim-af6f454f5c3349821b20bd2f0d846f7ae7343e2e.zip
feat(msgpack): convert Blobs to BIN strings
Diffstat (limited to 'src/nvim/eval/encode.c')
-rw-r--r--src/nvim/eval/encode.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/eval/encode.c b/src/nvim/eval/encode.c
index 35a97d4f50..b6b37fce84 100644
--- a/src/nvim/eval/encode.c
+++ b/src/nvim/eval/encode.c
@@ -950,7 +950,13 @@ char *encode_tv2json(typval_T *tv, size_t *len)
} while (0)
#define TYPVAL_ENCODE_CONV_BLOB(tv, blob, len) \
- abort() /* TODO(seandewar) */ \
+ do { \
+ const size_t len_ = (size_t)(len); \
+ msgpack_pack_bin(packer, len_); \
+ if (len_ > 0) { \
+ msgpack_pack_bin_body(packer, (blob)->bv_ga.ga_data, len_); \
+ } \
+ } while (0)
#define TYPVAL_ENCODE_CONV_NUMBER(tv, num) \
msgpack_pack_int64(packer, (int64_t)(num))