Improve luaL_addlstring().

Thanks to Domingo Alvarez Duarte.
This commit is contained in:
Mike Pall 2019-01-10 13:09:17 +01:00
parent fc63c938b5
commit f0e865dd48

View File

@ -218,8 +218,15 @@ LUALIB_API char *luaL_prepbuffer(luaL_Buffer *B)
LUALIB_API void luaL_addlstring(luaL_Buffer *B, const char *s, size_t l) LUALIB_API void luaL_addlstring(luaL_Buffer *B, const char *s, size_t l)
{ {
while (l--) if (l <= bufffree(B)) {
luaL_addchar(B, *s++); memcpy(B->p, s, l);
B->p += l;
} else {
emptybuffer(B);
lua_pushlstring(B->L, s, l);
B->lvl++;
adjuststack(B);
}
} }
LUALIB_API void luaL_addstring(luaL_Buffer *B, const char *s) LUALIB_API void luaL_addstring(luaL_Buffer *B, const char *s)