diff options
author | Nikolaus Rath <Nikolaus@rath.org> | 2016-10-09 17:08:29 -0700 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2016-10-09 22:03:07 -0700 |
commit | 225c12aebf2d2f27e1d032d6b2149c7bb1d63506 (patch) | |
tree | cb975230f69f925fae7c559bdb3d8faa867f537f /example/timefs3.c | |
parent | 1014e1fc931f3c8191be3767f789160a69b01381 (diff) | |
download | libfuse-225c12aebf2d2f27e1d032d6b2149c7bb1d63506.tar.gz |
fuse_parse_cmdline(): do not print help/version text
The current behavior makes it difficult to add help for
additional options. With the change, this becomes a lot easier.
Diffstat (limited to 'example/timefs3.c')
-rw-r--r-- | example/timefs3.c | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/example/timefs3.c b/example/timefs3.c index 0a52e0f..c04b81c 100644 --- a/example/timefs3.c +++ b/example/timefs3.c @@ -253,6 +253,16 @@ static void* update_fs(void *data) { return NULL; } +static void show_help(const char *progname) +{ + printf("usage: %s [options] <mountpoint>\n\n", progname); + printf("File-system specific options:\n" + " --timeout=<secs> Timeout for kernel caches\n" + " --update-interval=<secs> Update-rate of file system contents\n" + " --no-notify Disable kernel notifications\n" + "\n"); +} + int main(int argc, char *argv[]) { struct fuse_args args = FUSE_ARGS_INIT(argc, argv); struct fuse_session *se; @@ -266,8 +276,18 @@ int main(int argc, char *argv[]) { if (fuse_parse_cmdline(&args, &opts) != 0) return 1; - if (opts.show_help || opts.show_version) { - ret = 1; + if (opts.show_help) { + show_help(argv[0]); + fuse_cmdline_help(); + fuse_lowlevel_help(); + fuse_mount_help(); + ret = 0; + goto err_out1; + } else if (opts.show_version) { + printf("FUSE library version %s\n", fuse_pkgversion()); + fuse_lowlevel_version(); + fuse_mount_version(); + ret = 0; goto err_out1; } |