aboutsummaryrefslogtreecommitdiff
path: root/src/lj_serialize.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_serialize.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lj_serialize.c b/src/lj_serialize.c
index be09d670..13220c17 100644
--- a/src/lj_serialize.c
+++ b/src/lj_serialize.c
@@ -57,8 +57,8 @@ LJ_STATIC_ASSERT((SER_TAG_TAB & 7) == 0);
57 57
58static LJ_AINLINE char *serialize_more(char *w, StrBuf *sbuf, MSize sz) 58static LJ_AINLINE char *serialize_more(char *w, StrBuf *sbuf, MSize sz)
59{ 59{
60 if (LJ_UNLIKELY(sz > (MSize)(sbufE(sbuf->sb) - w))) { 60 if (LJ_UNLIKELY(sz > (MSize)(sbuf->sb->e - w))) {
61 setsbufP(sbuf->sb, w); 61 sbuf->sb->w = w;
62 w = lj_buf_more2(sbuf->sb, sz); 62 w = lj_buf_more2(sbuf->sb, sz);
63 } 63 }
64 return w; 64 return w;
@@ -245,7 +245,7 @@ static char *serialize_put(char *w, StrBuf *sbuf, cTValue *o)
245/* Get serialized object from buffer. */ 245/* Get serialized object from buffer. */
246static char *serialize_get(char *r, StrBuf *sbuf, TValue *o) 246static char *serialize_get(char *r, StrBuf *sbuf, TValue *o)
247{ 247{
248 char *e = sbufE(sbuf->sb); 248 char *e = sbuf->sb->e;
249 uint32_t tp; 249 uint32_t tp;
250 r = serialize_ru124(r, e, &tp); if (LJ_UNLIKELY(!r)) goto eob; 250 r = serialize_ru124(r, e, &tp); if (LJ_UNLIKELY(!r)) goto eob;
251 if (LJ_LIKELY(tp >= SER_TAG_STR)) { 251 if (LJ_LIKELY(tp >= SER_TAG_STR)) {
@@ -340,14 +340,14 @@ eob:
340StrBuf * LJ_FASTCALL lj_serialize_put(StrBuf *sbuf, cTValue *o) 340StrBuf * LJ_FASTCALL lj_serialize_put(StrBuf *sbuf, cTValue *o)
341{ 341{
342 sbuf->depth = LJ_SERIALIZE_DEPTH; 342 sbuf->depth = LJ_SERIALIZE_DEPTH;
343 setsbufP(sbuf->sb, serialize_put(sbufP(sbuf->sb), sbuf, o)); 343 sbuf->sb->w = serialize_put(sbuf->sb->w, sbuf, o);
344 return sbuf; 344 return sbuf;
345} 345}
346 346
347StrBuf * LJ_FASTCALL lj_serialize_get(StrBuf *sbuf, TValue *o) 347StrBuf * LJ_FASTCALL lj_serialize_get(StrBuf *sbuf, TValue *o)
348{ 348{
349 char *r = serialize_get(sbuf->r, sbuf, o); 349 char *r = serialize_get(sbuf->r, sbuf, o);
350 if (r != sbufP(sbuf->sb)) 350 if (r != sbuf->sb->w)
351 lj_err_caller(sbufL(sbuf->sb), LJ_ERR_BUFFER_LEFTOV); 351 lj_err_caller(sbufL(sbuf->sb), LJ_ERR_BUFFER_LEFTOV);
352 sbuf->r = r; 352 sbuf->r = r;
353 return sbuf; 353 return sbuf;