From: Miklos Szeredi Date: Sat, 10 Dec 2005 20:47:46 +0000 (+0000) Subject: fix X-Git-Tag: fuse_2_5_0_pre2~26 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8720e933f44323fd886261f69ae767b41b388c17;p=qemu-gpiodev%2Flibfuse.git fix --- diff --git a/lib/fuse_opt.c b/lib/fuse_opt.c index 7767563..535cd38 100644 --- a/lib/fuse_opt.c +++ b/lib/fuse_opt.c @@ -28,9 +28,8 @@ struct fuse_opt_context { void fuse_opt_free_args(char *args[]) { - int i; - if (args) { + int i; for (i = 0; args[i]; i++) free(args[i]); free(args); @@ -319,6 +318,9 @@ static int opt_parse(struct fuse_opt_context *ctx) insert_arg(ctx, 2, ctx->opts) == -1) return -1; } + if (strcmp(ctx->argv[ctx->argc - 1], "--") == 0) + ctx->argv[--ctx->argc] = NULL; + return 0; } diff --git a/lib/helper.c b/lib/helper.c index 1f99c2f..bb02a3a 100644 --- a/lib/helper.c +++ b/lib/helper.c @@ -226,7 +226,10 @@ static int fuse_parse_cmdline(int argc, const char *argv[], return -1; } sprintf(fsname_opt, "fsname=%s", basename); - fuse_opt_add_opt(&hopts->kernel_opts, fsname_opt); + res = fuse_opt_add_opt(&hopts->kernel_opts, fsname_opt); + free(fsname_opt); + if (res == -1) + return -1; } return 0; }