MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / luaL_addvalue

Function luaL_addvalue

3rd/lua-5.4.3/src/lauxlib.c:618–626  ·  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

616** stack before we have the space guaranteed.)
617*/
618LUALIB_API void luaL_addvalue (luaL_Buffer *B) {
619 lua_State *L = B->L;
620 size_t len;
621 const char *s = lua_tolstring(L, -1, &len);
622 char *b = prepbuffsize(B, len, -2);
623 memcpy(b, s, len * sizeof(char));
624 luaL_addsize(B, len);
625 lua_pop(L, 1); /* pop string */
626}
627
628
629LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) {

Callers 8

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

Calls 2

lua_tolstringFunction · 0.85
prepbuffsizeFunction · 0.85

Tested by

no test coverage detected