MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / createargtable

Function createargtable

lib/lua/src/lua.c:184–193  ·  view source on GitHub ↗

** Create the 'arg' table, which stores all arguments from the ** command line ('argv'). It should be aligned so that, at index 0, ** it has 'argv[script]', which is the script name. The arguments ** to the script (everything after 'script') go to positive indices; ** other arguments (before the script name) go to negative indices. ** If there is no script name, assume interpreter's name as base.

Source from the content-addressed store, hash-verified

182** table sizes are zero.)
183*/
184static void createargtable (lua_State *L, char **argv, int argc, int script) {
185 int i, narg;
186 narg = argc - (script + 1); /* number of positive indices */
187 lua_createtable(L, narg, script + 1);
188 for (i = 0; i < argc; i++) {
189 lua_pushstring(L, argv[i]);
190 lua_rawseti(L, -2, i - script);
191 }
192 lua_setglobal(L, "arg");
193}
194
195
196static int dochunk (lua_State *L, int status) {

Callers 1

pmainFunction · 0.85

Calls 4

lua_createtableFunction · 0.85
lua_pushstringFunction · 0.85
lua_rawsetiFunction · 0.85
lua_setglobalFunction · 0.85

Tested by

no test coverage detected