Path: blob/main/filesystems/fusefs-libs/files/patch-lib_helper.c
18878 views
--- lib/helper.c.orig 2015-05-22 09:24:02 UTC1+++ lib/helper.c2@@ -31,7 +31,7 @@ enum {3struct helper_opts {4int singlethread;5int foreground;6- int nodefault_subtype;7+ int fsname;8char *mountpoint;9};1011@@ -42,8 +42,7 @@ static const struct fuse_opt fuse_helper12FUSE_HELPER_OPT("debug", foreground),13FUSE_HELPER_OPT("-f", foreground),14FUSE_HELPER_OPT("-s", singlethread),15- FUSE_HELPER_OPT("fsname=", nodefault_subtype),16- FUSE_HELPER_OPT("subtype=", nodefault_subtype),17+ FUSE_HELPER_OPT("fsname=", fsname),1819FUSE_OPT_KEY("-h", KEY_HELP),20FUSE_OPT_KEY("--help", KEY_HELP),21@@ -53,7 +52,6 @@ static const struct fuse_opt fuse_helper22FUSE_OPT_KEY("-d", FUSE_OPT_KEY_KEEP),23FUSE_OPT_KEY("debug", FUSE_OPT_KEY_KEEP),24FUSE_OPT_KEY("fsname=", FUSE_OPT_KEY_KEEP),25- FUSE_OPT_KEY("subtype=", FUSE_OPT_KEY_KEEP),26FUSE_OPT_END27};2829@@ -123,24 +121,24 @@ static int fuse_helper_opt_proc(void *da30}31}3233-static int add_default_subtype(const char *progname, struct fuse_args *args)34+static int add_default_fsname(const char *progname, struct fuse_args *args)35{36int res;37- char *subtype_opt;38+ char *fsname_opt;39const char *basename = strrchr(progname, '/');40if (basename == NULL)41basename = progname;42else if (basename[1] != '\0')43basename++;4445- subtype_opt = (char *) malloc(strlen(basename) + 64);46- if (subtype_opt == NULL) {47+ fsname_opt = (char *) malloc(strlen(basename) + 64);48+ if (fsname_opt == NULL) {49fprintf(stderr, "fuse: memory allocation failed\n");50return -1;51}52- sprintf(subtype_opt, "-osubtype=%s", basename);53- res = fuse_opt_add_arg(args, subtype_opt);54- free(subtype_opt);55+ sprintf(fsname_opt, "-ofsname=%s", basename);56+ res = fuse_opt_add_arg(args, fsname_opt);57+ free(fsname_opt);58return res;59}6061@@ -156,8 +154,8 @@ int fuse_parse_cmdline(struct fuse_args62if (res == -1)63return -1;6465- if (!hopts.nodefault_subtype) {66- res = add_default_subtype(args->argv[0], args);67+ if (!hopts.fsname) {68+ res = add_default_fsname(args->argv[0], args);69if (res == -1)70goto err;71}727374