Lines Matching full:argv
28 struct arg arg_init(char **argv) {
31 a.argv = argv;
39 int arg_match(struct arg *arg_, const struct arg_def *def, char **argv) {
42 if (!argv[0] || argv[0][0] != '-')
45 arg = arg_init(argv);
48 && strlen(arg.argv[0]) == strlen(def->short_name) + 1
49 && !strcmp(arg.argv[0] + 1, def->short_name)) {
51 arg.name = arg.argv[0] + 1;
52 arg.val = def->has_val ? arg.argv[1] : NULL;
57 if (strlen(arg.argv[0]) >= name_len + 2
58 && arg.argv[0][1] == '-'
59 && !strncmp(arg.argv[0] + 2, def->long_name, name_len)
60 && (arg.argv[0][name_len + 2] == '='
61 || arg.argv[0][name_len + 2] == '\0')) {
63 arg.name = arg.argv[0] + 2;
87 if (arg->argv[0])
88 arg->argv += arg->argv_step;
90 return *arg->argv;
94 char **argv_dup(int argc, const char **argv) {
95 char **new_argv = malloc((argc + 1) * sizeof(*argv));
97 memcpy(new_argv, argv, argc * sizeof(*argv));