From 82be83a22616c8868231ca02eb8489d4bd3f9acf Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Sun, 2 Jan 2022 09:51:47 +0000 Subject: [PATCH] more --- include/util/encode.h | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/include/util/encode.h b/include/util/encode.h index 3c98e8108f..7dc8d07f0a 100644 --- a/include/util/encode.h +++ b/include/util/encode.h @@ -244,11 +244,20 @@ static FORCE_INLINE int tEncodeDouble(SCoder* pEncoder, double val) { return tEncodeU64(pEncoder, v.ui); } -static FORCE_INLINE int tEncodeCStr(SCoder* pEncoder, const char* val) { - // TODO +static FORCE_INLINE int tEncodeCstrWithLen(SCoder* pEncoder, const char* val, size_t len) { + if (tEncodeI32v(pEncoder, len) < 0) return -1; + if (pEncoder->data) { + if (TD_CODER_CHECK_CAPACITY_FAILED(pEncoder, len + 1)) return -1; + memcpy(TD_CODER_CURRENT(pEncoder), val, len + 1); + } + TD_CODER_MOVE_POS(pEncoder, len + 1); return 0; } +static FORCE_INLINE int tEncodeCStr(SCoder* pEncoder, const char* val) { + return tEncodeCstrWithLen(pEncoder, val, strlen(val)); +} + /* ------------------------ FOR DECODER ------------------------ */ // 8 static FORCE_INLINE int tDecodeU8(SCoder* pDecoder, uint8_t* val) {