diff options
author | bfredl <bjorn.linse@gmail.com> | 2024-06-24 11:27:56 +0200 |
---|---|---|
committer | bfredl <bjorn.linse@gmail.com> | 2024-06-27 18:46:27 +0200 |
commit | 782b3024ef0e3d6615e9dc90509a29e96ab58152 (patch) | |
tree | 9ce1efea06411c57c4c135f11fa9514e54506262 /src/nvim/msgpack_rpc/packer.c | |
parent | 46187117c9464dd6c09eae8e47bb279d72a01038 (diff) | |
download | rneovim-782b3024ef0e3d6615e9dc90509a29e96ab58152.tar.gz rneovim-782b3024ef0e3d6615e9dc90509a29e96ab58152.tar.bz2 rneovim-782b3024ef0e3d6615e9dc90509a29e96ab58152.zip |
refactor(shada): don't use msgpack_packer for shada
Now msgpack-c is never used for packing. The real fun part will be
replacing it for unpacking.
Diffstat (limited to 'src/nvim/msgpack_rpc/packer.c')
-rw-r--r-- | src/nvim/msgpack_rpc/packer.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nvim/msgpack_rpc/packer.c b/src/nvim/msgpack_rpc/packer.c index 279cbb3925..4e9e3243a0 100644 --- a/src/nvim/msgpack_rpc/packer.c +++ b/src/nvim/msgpack_rpc/packer.c @@ -10,7 +10,7 @@ void mpack_check_buffer(PackerBuffer *packer) { - if (mpack_remaining(packer) < MPACK_ITEM_SIZE) { + if (mpack_remaining(packer) < 2 * MPACK_ITEM_SIZE) { packer->packer_flush(packer); } } @@ -87,8 +87,9 @@ void mpack_str(String str, PackerBuffer *packer) mpack_raw(str.data, len, packer); } -void mpack_bin(const char *data, size_t len, PackerBuffer *packer) +void mpack_bin(String str, PackerBuffer *packer) { + const size_t len = str.size; if (len < 0xff) { mpack_w(&packer->ptr, 0xc4); mpack_w(&packer->ptr, len); @@ -102,7 +103,7 @@ void mpack_bin(const char *data, size_t len, PackerBuffer *packer) abort(); } - mpack_raw(data, len, packer); + mpack_raw(str.data, len, packer); } void mpack_raw(const char *data, size_t len, PackerBuffer *packer) @@ -119,6 +120,7 @@ void mpack_raw(const char *data, size_t len, PackerBuffer *packer) packer->packer_flush(packer); } } + mpack_check_buffer(packer); } void mpack_ext(char *buf, size_t len, int8_t type, PackerBuffer *packer) |