Gitweb: http://git.fedorahosted.org/git/?p=gfs2-utils.git;a=commitdiff;h=cc0a456dd65... Commit: cc0a456dd650c793e4ebce10b0bb7c7ff5048a90 Parent: 65ddd7e85220b9c3a295c45cb1bb3dc175f45d3c Author: Andrew Price anprice@redhat.com AuthorDate: Fri May 17 22:20:25 2013 +0100 Committer: Andrew Price anprice@redhat.com CommitterDate: Fri May 17 22:20:25 2013 +0100
gfs2l: Improve usage message and opt handling
Tweak the usage message and add a help option to print it on demand.
Signed-off-by: Andrew Price anprice@redhat.com --- gfs2/libgfs2/gfs2l.c | 21 +++++++++++++++++---- 1 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/gfs2/libgfs2/gfs2l.c b/gfs2/libgfs2/gfs2l.c index 2eacb2d..50ddb82 100644 --- a/gfs2/libgfs2/gfs2l.c +++ b/gfs2/libgfs2/gfs2l.c @@ -5,19 +5,23 @@
static void usage(const char *cmd) { - fprintf(stderr, "Usage: %s -f <script_path> <fs_path>\n", cmd); - fprintf(stderr, "Use -f - for stdin\n"); + printf("A language for modifying and querying a gfs2 file system.\n"); + printf("Usage: %s [options] <fs_path>\n", cmd); + printf("Available options:\n"); + printf(" -h Print this help message and exit\n"); + printf(" -f <script_path> Path to script file or '-' for stdin\n"); }
struct cmdopts { char *fspath; FILE *src; + unsigned help:1; };
static int getopts(int argc, char *argv[], struct cmdopts *opts) { int opt; - while ((opt = getopt(argc, argv, "f:")) != -1) { + while ((opt = getopt(argc, argv, "f:h")) != -1) { switch (opt) { case 'f': if (!strcmp("-", optarg)) { @@ -30,14 +34,18 @@ static int getopts(int argc, char *argv[], struct cmdopts *opts) } } break; + case 'h': + opts->help = 1; + return 0; default: - usage(argv[0]); + fprintf(stderr, "Use -h for help\n"); return 1; } }
if (argc - optind != 1) { usage(argv[0]); + fprintf(stderr, "Missing file system path. Use -h for help.\n"); return 1; }
@@ -106,6 +114,11 @@ int main(int argc, char *argv[]) exit(1); }
+ if (opts.help) { + usage(argv[0]); + exit(0); + } + sdp = openfs(argv[optind]); if (sdp == NULL) { exit(1);
cluster-commits@lists.fedorahosted.org