aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/msgpack_rpc
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-06-29 11:57:37 +0200
committerGitHub <noreply@github.com>2024-06-29 11:57:37 +0200
commitace0d5306b343a4b3e96175b25ab421dba336344 (patch)
treead8739f18e8b469d72de324dba8011757584a02e /src/nvim/msgpack_rpc
parentc33f670da20a0e8f1832ea7227b19f5b6f5a7beb (diff)
parent782b3024ef0e3d6615e9dc90509a29e96ab58152 (diff)
downloadrneovim-ace0d5306b343a4b3e96175b25ab421dba336344.tar.gz
rneovim-ace0d5306b343a4b3e96175b25ab421dba336344.tar.bz2
rneovim-ace0d5306b343a4b3e96175b25ab421dba336344.zip
Merge pull request #29467 from bfredl/shadapack2
refactor(shada): don't use msgpack_packer for shada
Diffstat (limited to 'src/nvim/msgpack_rpc')
-rw-r--r--src/nvim/msgpack_rpc/packer.c8
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)