diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib_buffer.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/lib_buffer.c b/src/lib_buffer.c index e4555596..e21362b8 100644 --- a/src/lib_buffer.c +++ b/src/lib_buffer.c | |||
@@ -38,15 +38,14 @@ LJLIB_CF(buffer_encode) | |||
38 | LJLIB_CF(buffer_decode) | 38 | LJLIB_CF(buffer_decode) |
39 | { | 39 | { |
40 | GCstr *str = lj_lib_checkstr(L, 1); | 40 | GCstr *str = lj_lib_checkstr(L, 1); |
41 | const char *p = strdata(str); | 41 | char *p = (char *)strdata(str); |
42 | SBuf sb; | 42 | SBuf sb; |
43 | StrBuf sbuf; | 43 | StrBuf sbuf; |
44 | setsbufL(&sb, L); | 44 | setsbufL(&sb, L); |
45 | setmref(sb.b, p); | 45 | sb.b = p; |
46 | setmref(sb.p, p + str->len); | 46 | sb.w = sb.e = p + str->len; |
47 | setmref(sb.e, p + str->len); | ||
48 | sbuf.sb = &sb; | 47 | sbuf.sb = &sb; |
49 | sbuf.r = (char *)p; | 48 | sbuf.r = p; |
50 | setnilV(L->top++); | 49 | setnilV(L->top++); |
51 | lj_serialize_get(&sbuf, L->top-1); | 50 | lj_serialize_get(&sbuf, L->top-1); |
52 | lj_gc_check(L); | 51 | lj_gc_check(L); |