diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2021-09-16 16:31:41 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-16 16:31:41 -0400 |
commit | 7d21b958691c06ed6b40aa1909cd81c37a67844e (patch) | |
tree | 4c3a89ec96a7cff096032c9103131509b82c393c /src/nvim/api/private/helpers.c | |
parent | 2d81f1927958374d646ac24df479035c77d9b544 (diff) | |
parent | 89f7f7a991de6135f9009b832cd7736dabf2050c (diff) | |
download | rneovim-7d21b958691c06ed6b40aa1909cd81c37a67844e.tar.gz rneovim-7d21b958691c06ed6b40aa1909cd81c37a67844e.tar.bz2 rneovim-7d21b958691c06ed6b40aa1909cd81c37a67844e.zip |
Merge pull request #15211 from seandewar/blob-port
Port VimL's Blob type - vim-patch:8.1.{0735,0736,0738,0741,0742,0755,0756,0757,0765,0793,0797,0798,0802,1022,1023,1671},8.2.{0121,0184,0404,0521,0829,1473,1866,2712}
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r-- | src/nvim/api/private/helpers.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c index 0ed5e6408b..ecbd4e13a3 100644 --- a/src/nvim/api/private/helpers.c +++ b/src/nvim/api/private/helpers.c @@ -444,6 +444,16 @@ void set_option_to(uint64_t channel_id, void *to, int type, #define TYPVAL_ENCODE_CONV_EXT_STRING(tv, str, len, type) \ TYPVAL_ENCODE_CONV_NIL(tv) +#define TYPVAL_ENCODE_CONV_BLOB(tv, blob, len) \ + do { \ + const size_t len_ = (size_t)(len); \ + const blob_T *const blob_ = (blob); \ + kvi_push(edata->stack, STRING_OBJ(((String) { \ + .data = len_ != 0 ? xmemdup(blob_->bv_ga.ga_data, len_) : NULL, \ + .size = len_ \ + }))); \ + } while (0) + #define TYPVAL_ENCODE_CONV_FUNC_START(tv, fun) \ do { \ TYPVAL_ENCODE_CONV_NIL(tv); \ @@ -584,6 +594,7 @@ static inline void typval_encode_dict_end(EncodedData *const edata) #undef TYPVAL_ENCODE_CONV_STRING #undef TYPVAL_ENCODE_CONV_STR_STRING #undef TYPVAL_ENCODE_CONV_EXT_STRING +#undef TYPVAL_ENCODE_CONV_BLOB #undef TYPVAL_ENCODE_CONV_NUMBER #undef TYPVAL_ENCODE_CONV_FLOAT #undef TYPVAL_ENCODE_CONV_FUNC_START |