To make it print the usage message and exit.

Signed-off-by: Jeff Layton <[email protected]>
---
 cifs.idmap.8.in |  7 ++++++-
 cifs.idmap.c    | 10 ++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/cifs.idmap.8.in b/cifs.idmap.8.in
index 152046b..c022402 100644
--- a/cifs.idmap.8.in
+++ b/cifs.idmap.8.in
@@ -22,7 +22,7 @@
 cifs.idmap \- Userspace helper for mapping ids for Common Internet File System 
(CIFS)
 .SH "SYNOPSIS"
 .HP \w'\ 'u
-cifs.idmap [--timeout|-t] [--version|-v] {keyid}
+cifs.idmap [--help|-h] [--timeout|-t] [--version|-v] {keyid}
 .SH "DESCRIPTION"
 .PP
 This tool is part of the cifs-utils suite\&.
@@ -46,6 +46,11 @@ cifs\&.idmap works in conjuction with winbind facility of 
Samba suite to map own
 In case winbind and cifs.idmap facilities are unavailable, file objects in a 
mounted share are assigned uid and gid of the credentials of the process that 
mounted the share\&. So it is strongly recomemended to use mount options of uid 
and gid to specify a default uid and gid to map owner SIDs and group SIDs 
respectively in case services of winbind and cifs.idmap facility are 
unavailable\&.
 .SH "OPTIONS"
 .PP
+--help|-h
+.RS
+Print the usage message and exit.
+.RE
+.PP
 --timeout|-t
 .RS 4
 Set the expiration timer, in seconds on the key. The default is 600 seconds 
(10 minutes). Setting this to 0 will cause the key to never expire.
diff --git a/cifs.idmap.c b/cifs.idmap.c
index 0d51ff6..6e71efd 100644
--- a/cifs.idmap.c
+++ b/cifs.idmap.c
@@ -45,6 +45,7 @@
 static const char *prog = "cifs.idmap";
 
 static const struct option long_options[] = {
+       {"help", 0, NULL, 'h'},
        {"timeout", 1, NULL, 't'},
        {"version", 0, NULL, 'v'},
        {NULL, 0, NULL, 0}
@@ -52,7 +53,7 @@ static const struct option long_options[] = {
 
 static void usage(void)
 {
-       fprintf(stderr, "Usage: %s key_serial\n", prog);
+       fprintf(stderr, "Usage: %s [-h] [-v] [-t timeout] key_serial\n", prog);
 }
 
 char *strget(const char *str, const char *substr)
@@ -226,8 +227,13 @@ int main(const int argc, char *const argv[])
 
        openlog(prog, 0, LOG_DAEMON);
 
-       while ((c = getopt_long(argc, argv, "t:v", long_options, NULL)) != -1) {
+       while ((c = getopt_long(argc, argv, "ht:v",
+                                       long_options, NULL)) != -1) {
                switch (c) {
+               case 'h':
+                       rc = 0;
+                       usage();
+                       goto out;
                case 't':
                        timeout = atoi(optarg);
                        break;
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to