diff options
| author | Mike Pall <mike> | 2021-06-01 00:45:06 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2021-06-01 00:45:06 +0200 |
| commit | 394fb6267acba72ee984edcd331ad1bbde72056a (patch) | |
| tree | 9c79314df37e41fd15fb30f148e96cb9ab1be3a9 /src/lib_buffer.c | |
| parent | b5dafe58912a70a7b5780ebbea06fac744e08b3a (diff) | |
| download | luajit-394fb6267acba72ee984edcd331ad1bbde72056a.tar.gz luajit-394fb6267acba72ee984edcd331ad1bbde72056a.tar.bz2 luajit-394fb6267acba72ee984edcd331ad1bbde72056a.zip | |
String buffers, part 2a: internal SBuf reorg. Use full pointers.
Sponsored by fmad.io.
Diffstat (limited to 'src/lib_buffer.c')
| -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 e45555963..e21362b83 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); |
