aboutsummaryrefslogtreecommitdiff
path: root/lib/fuse_opt.c
diff options
context:
space:
mode:
authorGravatar Miklos Szeredi <miklos@szeredi.hu>2005-12-12 10:59:35 +0000
committerGravatar Miklos Szeredi <miklos@szeredi.hu>2005-12-12 10:59:35 +0000
commit34450a88f277bc9427ea5f7824b5938e6cffe178 (patch)
tree28e6116c453b4c8720a869d4f22da0aa2d45f24b /lib/fuse_opt.c
parent76fc3de965e5e664db2f45ebd6c71f858d697707 (diff)
fix
Diffstat (limited to 'lib/fuse_opt.c')
-rw-r--r--lib/fuse_opt.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/fuse_opt.c b/lib/fuse_opt.c
index 535cd38..4eb4eed 100644
--- a/lib/fuse_opt.c
+++ b/lib/fuse_opt.c
@@ -103,7 +103,7 @@ static int insert_arg(struct fuse_opt_context *ctx, int pos, const char *arg)
if (pos != ctx->argcout - 1) {
char *newarg = ctx->argvout[ctx->argcout - 1];
- memmove(&ctx->argvout[pos+1], &ctx->argvout[pos],
+ memmove(&ctx->argvout[pos + 1], &ctx->argvout[pos],
sizeof(char *) * (ctx->argcout - pos - 1));
ctx->argvout[pos] = newarg;
}
@@ -296,7 +296,7 @@ static int process_one(struct fuse_opt_context *ctx, const char *arg)
} else if (arg[1] == '-' && !arg[2]) {
if (add_arg(ctx, arg) == -1)
return -1;
- ctx->nonopt = 1;
+ ctx->nonopt = ctx->argcout;
return 0;
} else
return process_gopt(ctx, arg, 0);
@@ -318,9 +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;
-
+ if (ctx->nonopt && ctx->nonopt == ctx->argcout)
+ ctx->argvout[--ctx->argcout] = NULL;
+
return 0;
}