Home | History | Annotate | Download | only in src

Lines Matching defs:argv

192 static int getargs (lua_State *L, char **argv, int n) {
196 while (argv[argc]) argc++; /* count total number of arguments */
200 lua_pushstring(L, argv[i]);
203 lua_pushstring(L, argv[i]);
326 static int handle_script (lua_State *L, char **argv, int n) {
329 int narg = getargs(L, argv, n); /* collect arguments */
331 fname = argv[n];
332 if (strcmp(fname, "-") == 0 && strcmp(argv[n-1], "--") != 0)
357 static int collectargs (char **argv, int *args) {
359 for (i = 1; argv[i] != NULL; i++) {
360 if (argv[i][0] != '-') /* not an option? */
362 switch (argv[i][1]) { /* option */
364 noextrachars(argv[i]);
365 return (argv[i+1] != NULL ? i+1 : 0);
372 noextrachars(argv[i]);
375 noextrachars(argv[i]);
381 if (argv[i][2] == '\0') { /* no concatenated argument? */
382 i++; /* try next 'argv' */
383 if (argv[i] == NULL || argv[i][0] == '-')
395 static int runargs (lua_State *L, char **argv, int n) {
398 lua_assert(argv[i][0] == '-');
399 switch (argv[i][1]) { /* option */
401 const char *chunk = argv[i] + 2;
402 if (*chunk == '\0') chunk = argv[++i];
409 const char *filename = argv[i] + 2;
410 if (*filename == '\0') filename = argv[++i];
440 char **argv = (char **)lua_touserdata(L, 2);
444 if (argv[0] && argv[0][0]) progname = argv[0];
445 script = collectargs(argv, args);
447 print_usage(argv[-script]);
463 if (!runargs(L, argv, (script > 0) ? script : argc)) return 0;
465 if (script && handle_script(L, argv, script) != LUA_OK) return 0;
480 int main (int argc, char **argv) {
484 l_message(argv[0], "cannot create state: not enough memory");
490 lua_pushlightuserdata(L, argv); /* 2nd argument */