MCPcopy Create free account
hub / github.com/DFHack/dfhack / createargtable

Function createargtable

depends/lua/src/lua.c:226–236  ·  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

224** If there is no script name, assume interpreter's name as base.
225*/
226static void createargtable (lua_State *L, char **argv, int argc, int script) {
227 int i, narg;
228 if (script == argc) script = 0; /* no script name? */
229 narg = argc - (script + 1); /* number of positive indices */
230 lua_createtable(L, narg, script + 1);
231 for (i = 0; i < argc; i++) {
232 lua_pushstring(L, argv[i]);
233 lua_rawseti(L, -2, i - script);
234 }
235 lua_setglobal(L, "arg");
236}
237
238
239static 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