Skip to content

Commit e74b1f3

Browse files
committed
fix bug
1 parent a5e9167 commit e74b1f3

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lpb.c

+5-3
Original file line numberDiff line numberDiff line change
@@ -195,12 +195,13 @@ static void pb_resetbuffer(pb_Buffer *buff) {
195195

196196
static void pb_prepbuffer(pb_Buffer *buff, size_t need) {
197197
need += buff->used;
198-
if (need < buff->size) {
198+
if (need > buff->size) {
199199
void *newud;
200200
size_t newsize = LUAL_BUFFERSIZE;
201-
while (newsize < need)
201+
while (need > newsize)
202202
newsize *= 2;
203203
newud = lua_newuserdata(buff->L, newsize);
204+
memcpy(newud, buff->buff, buff->used);
204205
lua_rawsetp(buff->L, LUA_REGISTRYINDEX, buff);
205206
buff->buff = newud;
206207
buff->size = newsize;
@@ -772,7 +773,8 @@ static int Ldec_skip(lua_State *L) {
772773
default:
773774
case LPB_TGSTART: /* start group */
774775
case LPB_TGEND: /* end group */
775-
if (pb_skipsize(dec, 1)) return 1;
776+
/* TODO need implemenbt */
777+
luaL_error(L, "group unsupport");
776778
}
777779
dec->p = p;
778780
return 0;

0 commit comments

Comments
 (0)