MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / luaL_addvalue

Function luaL_addvalue

extlibs/lua/src/lauxlib.c:607–615  ·  view source on GitHub ↗

** 'luaL_addvalue' is the only function in the Buffer system where the ** box (if existent) is not on the top of the stack. So, instead of ** calling 'luaL_addlstring', it replicates the code using -2 as the ** last argument to 'prepbuffsize', signaling that the box is (or will ** be) bellow the string being added to the buffer. (Box creation can ** trigger an emergency GC, so we should not remove

Source from the content-addressed store, hash-verified

605** stack before we have the space guaranteed.)
606*/
607LUALIB_API void luaL_addvalue (luaL_Buffer *B) {
608 lua_State *L = B->L;
609 size_t len;
610 const char *s = lua_tolstring(L, -1, &len);
611 char *b = prepbuffsize(B, len, -2);
612 memcpy(b, s, len * sizeof(char));
613 luaL_addsize(B, len);
614 lua_pop(L, 1); /* pop string */
615}
616
617
618LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) {

Callers 8

add_sFunction · 0.70
add_valueFunction · 0.70
addliteralFunction · 0.70
str_formatFunction · 0.70
luaL_tracebackFunction · 0.70
utfcharFunction · 0.70
addfieldFunction · 0.70
findloaderFunction · 0.70

Calls 2

lua_tolstringFunction · 0.85
prepbuffsizeFunction · 0.85

Tested by

no test coverage detected