Kolasny
* If lookup returns invalid mode, return -EIO instead of creating
- a regular file.
+ a regular file
+
+ * Add current output argument vector to option processing
+ function
2005-12-12 Miklos Szeredi <miklos@szeredi.hu>
* @param data is the user data passed to the fuse_opt_parse() function
* @param arg is the whole argument or option
* @param key determines why the processing function was called
+ * @param argcout pointer to output argument count
+ * @param argvout pointer to output argument vector
* @return -1 on error, 0 if arg is to be discarded, 1 if arg should be kept
*/
-typedef int (*fuse_opt_proc_t)(void *data, const char *arg, int key);
+typedef int (*fuse_opt_proc_t)(void *data, const char *arg, int key,
+ int *argcout, char **argvout[]);
/**
* Option parsing function
fuse_getcontext = func;
}
-static int fuse_lib_opt_proc(void *data, const char *arg, int key)
+static int fuse_lib_opt_proc(void *data, const char *arg, int key,
+ int *argcp, char **argvp[])
{
struct fuse_config *conf = data;
(void) key;
+ (void) argcp;
+ (void) argvp;
return fuse_opt_add_opt(&conf->llopts, arg);
}
FUSE_OPT_END
};
-static int fuse_ll_opt_proc(void *data, const char *arg, int key)
+static int fuse_ll_opt_proc(void *data, const char *arg, int key,
+ int *argcp, char **argvp[])
{
(void) data;
(void) key;
+ (void) argcp;
+ (void) argvp;
fprintf(stderr, "fuse: unknown option `%s'\n", arg);
return -1;
}
int iso)
{
if (ctx->proc) {
- int res = ctx->proc(ctx->data, arg, key);
+ int res = ctx->proc(ctx->data, arg, key, &ctx->argcout, &ctx->argvout);
if (res == -1 || !res)
return res;
}
FUSE_OPT_END
};
-static int fuse_helper_opt_proc(void *data, const char *arg, int key)
+static int fuse_helper_opt_proc(void *data, const char *arg, int key,
+ int *argcp, char **argvp[])
{
struct helper_opts *hopts = data;
+ (void) argcp;
+ (void) argvp;
+
switch (key) {
case KEY_HELP:
case KEY_HELP_NOHEADER: