File tree 1 file changed +5
-3
lines changed
1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -195,12 +195,13 @@ static void pb_resetbuffer(pb_Buffer *buff) {
195
195
196
196
static void pb_prepbuffer (pb_Buffer * buff , size_t need ) {
197
197
need += buff -> used ;
198
- if (need < buff -> size ) {
198
+ if (need > buff -> size ) {
199
199
void * newud ;
200
200
size_t newsize = LUAL_BUFFERSIZE ;
201
- while (newsize < need )
201
+ while (need > newsize )
202
202
newsize *= 2 ;
203
203
newud = lua_newuserdata (buff -> L , newsize );
204
+ memcpy (newud , buff -> buff , buff -> used );
204
205
lua_rawsetp (buff -> L , LUA_REGISTRYINDEX , buff );
205
206
buff -> buff = newud ;
206
207
buff -> size = newsize ;
@@ -772,7 +773,8 @@ static int Ldec_skip(lua_State *L) {
772
773
default :
773
774
case LPB_TGSTART : /* start group */
774
775
case LPB_TGEND : /* end group */
775
- if (pb_skipsize (dec , 1 )) return 1 ;
776
+ /* TODO need implemenbt */
777
+ luaL_error (L , "group unsupport" );
776
778
}
777
779
dec -> p = p ;
778
780
return 0 ;
You can’t perform that action at this time.
0 commit comments