Lines Matching refs:nargs
45 static void *parse_service(struct parse_state *state, int nargs, char **args);
46 static void parse_line_service(struct parse_state *state, int nargs, char **args);
48 static void *parse_action(struct parse_state *state, int nargs, char **args);
49 static void parse_line_action(struct parse_state *state, int nargs, char **args);
57 #define KEYWORD(symbol, flags, nargs, func) \ argument
58 [ K_##symbol ] = { #symbol, func, nargs + 1, flags, },
62 int (*func)(int nargs, char **args);
63 unsigned char nargs; member
74 #define kw_nargs(kw) (keyword_info[kw].nargs)
172 static void parse_line_no_op(struct parse_state *state, int nargs, char **args) in parse_line_no_op() argument
295 static void parse_import(struct parse_state *state, int nargs, char **args) in parse_import() argument
302 if (nargs != 2) { in parse_import()
321 int nargs, char **args) in parse_new_section() argument
324 nargs > 1 ? args[1] : ""); in parse_new_section()
327 state->context = parse_service(state, nargs, args); in parse_new_section()
334 state->context = parse_action(state, nargs, args); in parse_new_section()
341 parse_import(state, nargs, args); in parse_new_section()
353 int nargs; in parse_config() local
355 nargs = 0; in parse_config()
372 if (nargs) { in parse_config()
376 parse_new_section(&state, kw, nargs, args); in parse_config()
378 state.parse_line(&state, nargs, args); in parse_config()
380 nargs = 0; in parse_config()
384 if (nargs < INIT_PARSER_MAXARGS) { in parse_config()
385 args[nargs++] = state.text; in parse_config()
571 void queue_builtin_action(int (*func)(int nargs, char **args), char *name) in queue_builtin_action() argument
584 cmd->nargs = 1; in queue_builtin_action()
616 static void *parse_service(struct parse_state *state, int nargs, char **args) in parse_service() argument
619 if (nargs < 3) { in parse_service()
634 nargs -= 2; in parse_service()
635 svc = calloc(1, sizeof(*svc) + sizeof(char*) * nargs); in parse_service()
642 memcpy(svc->args, args + 2, sizeof(char*) * nargs); in parse_service()
643 svc->args[nargs] = 0; in parse_service()
644 svc->nargs = nargs; in parse_service()
651 static void parse_line_service(struct parse_state *state, int nargs, char **args) in parse_line_service() argument
657 if (nargs == 0) { in parse_line_service()
668 if (nargs != 2) { in parse_line_service()
682 if (nargs != 3) { in parse_line_service()
704 if (nargs < 2) { in parse_line_service()
706 } else if (nargs > NR_SVC_SUPP_GIDS + 2) { in parse_line_service()
712 for (n = 2; n < nargs; n++) { in parse_line_service()
719 if (nargs < 2) { in parse_line_service()
722 svc->keycodes = malloc((nargs - 1) * sizeof(svc->keycodes[0])); in parse_line_service()
726 svc->nkeycodes = nargs - 1; in parse_line_service()
727 for (i = 1; i < nargs; i++) { in parse_line_service()
737 nargs--; in parse_line_service()
745 if (nargs < kw_nargs) { in parse_line_service()
751 cmd = malloc(sizeof(*cmd) + sizeof(char*) * nargs); in parse_line_service()
753 cmd->nargs = nargs; in parse_line_service()
754 memcpy(cmd->args, args, sizeof(char*) * nargs); in parse_line_service()
762 if (nargs < 3) { in parse_line_service()
779 if (nargs < 4) { in parse_line_service()
796 if (nargs > 4) in parse_line_service()
798 if (nargs > 5) in parse_line_service()
800 if (nargs > 6) in parse_line_service()
807 if (nargs != 2) { in parse_line_service()
814 if (nargs != 2) { in parse_line_service()
826 static void *parse_action(struct parse_state *state, int nargs, char **args) in parse_action() argument
829 if (nargs < 2) { in parse_action()
833 if (nargs > 2) { in parse_action()
846 static void parse_line_action(struct parse_state* state, int nargs, char **args) in parse_line_action() argument
850 int (*func)(int nargs, char **args); in parse_line_action()
853 if (nargs == 0) { in parse_line_action()
864 if (nargs < n) { in parse_line_action()
869 cmd = malloc(sizeof(*cmd) + sizeof(char*) * nargs); in parse_line_action()
873 cmd->nargs = nargs; in parse_line_action()
874 memcpy(cmd->args, args, sizeof(char*) * nargs); in parse_line_action()