Lines Matching defs:args
34 void fuse_opt_free_args(struct fuse_args *args)
36 if (args) {
37 if (args->argv && args->allocated) {
39 for (i = 0; i < args->argc; i++)
40 free(args->argv[i]);
41 free(args->argv);
43 args->argc = 0;
44 args->argv = NULL;
45 args->allocated = 0;
55 int fuse_opt_add_arg(struct fuse_args *args, const char *arg)
60 assert(!args->argv || args->allocated);
66 newargv = realloc(args->argv, (args->argc + 2) * sizeof(char *));
72 args->argv = newargv;
73 args->allocated = 1;
74 args->argv[args->argc++] = newarg;
75 args->argv[args->argc] = NULL;
79 static int fuse_opt_insert_arg_common(struct fuse_args *args, int pos,
82 assert(pos <= args->argc);
83 if (fuse_opt_add_arg(args, arg) == -1)
86 if (pos != args->argc - 1) {
87 char *newarg = args->argv[args->argc - 1];
88 memmove(&args->argv[pos + 1], &args->argv[pos],
89 sizeof(char *) * (args->argc - pos - 1));
90 args->argv[pos] = newarg;
95 int fuse_opt_insert_arg(struct fuse_args *args, int pos, const char *arg)
97 return fuse_opt_insert_arg_common(args, pos, arg);
398 int fuse_opt_parse(struct fuse_args *args, void *data,
408 if (!args || !args->argv || !args->argc)
411 ctx.argc = args->argc;
412 ctx.argv = args->argv;
416 struct fuse_args tmp = *args;
417 *args = ctx.outargs;