diff options
author | Kenneth D'souza <kdsouza@redhat.com> | 2019-04-17 15:36:46 +0530 |
---|---|---|
committer | Pavel Shilovsky <pshilov@microsoft.com> | 2019-04-17 15:10:15 -0700 |
commit | 12c2f088fa3d666fc5aa48a700e740523d8d2023 (patch) | |
tree | 2dfdb16ca565356d5d45b294bae1e70de26d72d2 | |
parent | 0009157e9db4dc1f9f8ab66feebea2d7d12014b1 (diff) | |
download | cifs-utils-12c2f088fa3d666fc5aa48a700e740523d8d2023.tar.gz cifs-utils-12c2f088fa3d666fc5aa48a700e740523d8d2023.tar.bz2 cifs-utils-12c2f088fa3d666fc5aa48a700e740523d8d2023.zip |
smbinfo: Improve help usage and add -h option.
Call usage only for -h case. This avoids cluttering the screen with long
help output.
As we are adding more options to the utility, the end error is just hidden.
Call short_usage wherever necessary.
Signed-off-by: Kenneth D'souza <kdsouza@redhat.com>
-rw-r--r-- | smbinfo.c | 27 | ||||
-rw-r--r-- | smbinfo.rst | 5 |
2 files changed, 26 insertions, 6 deletions
@@ -64,6 +64,8 @@ usage(char *name) { fprintf(stderr, "Usage: %s [-V] <command> <file>\n" "-V for verbose output\n" + "-h display this help text\n" + "-v print smbinfo version\n" "Commands are\n" " fileaccessinfo:\n" " Prints FileAccessInfo for a cifs file.\n" @@ -98,6 +100,14 @@ usage(char *name) } static void +short_usage(char *name) +{ + fprintf(stderr, "Usage: %s [-v] [-V] <command> <file>\n" + "Try 'smbinfo -h' for more information.\n", name); + exit(1); +} + +static void win_to_timeval(uint64_t smb2_time, struct timeval *tv) { tv->tv_usec = (smb2_time / 10) % 1000000; @@ -1075,7 +1085,11 @@ int main(int argc, char *argv[]) int c; int f; - while ((c = getopt_long(argc, argv, "vV", NULL, NULL)) != -1) { + if (argc < 2) { + short_usage(argv[0]); + } + + while ((c = getopt_long(argc, argv, "vVh", NULL, NULL)) != -1) { switch (c) { case 'v': printf("smbinfo version %s\n", VERSION); @@ -1083,15 +1097,18 @@ int main(int argc, char *argv[]) case 'V': verbose = 1; break; - default: + case 'h': usage(argv[0]); + break; + default: + short_usage(argv[0]); } } - if (optind >= argc - 1) - usage(argv[0]); + if (optind >= argc -1) + short_usage(argv[0]); - if ((f = open(argv[optind + 1], O_RDONLY)) < 0) { + if ((f = open(argv[optind + 1 ], O_RDONLY)) < 0) { fprintf(stderr, "Failed to open %s\n", argv[optind + 1]); exit(1); } diff --git a/smbinfo.rst b/smbinfo.rst index 0c96050..be4c829 100644 --- a/smbinfo.rst +++ b/smbinfo.rst @@ -11,7 +11,7 @@ Userspace helper to display SMB-specific file information for the Linux SMB clie SYNOPSIS ******** - smbinfo [-v] [-V] {command} {file system object} + smbinfo [-v] [-h] [-V] {command} {file system object} *********** DESCRIPTION @@ -38,6 +38,9 @@ OPTIONS -V Verbose output. +-h + Print help explaining the command line options. + ******* COMMAND ******* |