Add missing long option in adduser/addshare/control. Reported-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Namjae Jeon <linkinjeon@xxxxxxxxxx> --- addshare/addshare.c | 11 ++++++++++- adduser/adduser.c | 12 +++++++++++- control/control.c | 9 ++++++++- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/addshare/addshare.c b/addshare/addshare.c index 4d25047..a8ba71a 100644 --- a/addshare/addshare.c +++ b/addshare/addshare.c @@ -54,6 +54,15 @@ static void usage(void) exit(EXIT_FAILURE); } +static const struct option opts[] = { + {"add-share", required_argument, NULL, 'a' }, + {"del-share", required_argument, NULL, 'd' }, + {"update-share", required_argument, NULL, 'u' }, + {"options", required_argument, NULL, 'o' }, + {"version", no_argument, NULL, 'V' }, + {"verbose", no_argument, NULL, 'v' }, +}; + static void show_version(void) { printf("ksmbd-tools version : %s\n", KSMBD_TOOLS_VERSION); @@ -102,7 +111,7 @@ int main(int argc, char *argv[]) set_logger_app_name("ksmbd.addshare"); opterr = 0; - while ((c = getopt(argc, argv, "c:a:d:u:p:o:Vvh")) != EOF) + while ((c = getopt_long(argc, argv, "c:a:d:u:p:o:Vvh", opts, NULL)) != EOF) switch (c) { case 'a': arg_name = g_ascii_strdown(optarg, strlen(optarg)); diff --git a/adduser/adduser.c b/adduser/adduser.c index 88b12db..60a059d 100644 --- a/adduser/adduser.c +++ b/adduser/adduser.c @@ -50,6 +50,16 @@ static void usage(void) exit(EXIT_FAILURE); } +static const struct option opts[] = { + {"add-user", required_argument, NULL, 'a' }, + {"del-user", required_argument, NULL, 'd' }, + {"update-user", required_argument, NULL, 'u' }, + {"password", required_argument, NULL, 'p' }, + {"import-users", required_argument, NULL, 'i' }, + {"version", no_argument, NULL, 'V' }, + {"verbose", no_argument, NULL, 'v' }, +}; + static void show_version(void) { printf("ksmbd-tools version : %s\n", KSMBD_TOOLS_VERSION); @@ -102,7 +112,7 @@ int main(int argc, char *argv[]) set_logger_app_name("ksmbd.adduser"); opterr = 0; - while ((c = getopt(argc, argv, "c:i:a:d:u:p:Vvh")) != EOF) + while ((c = getopt_long(argc, argv, "c:i:a:d:u:p:Vvh", opts, NULL)) != EOF) switch (c) { case 'a': arg_account = g_strdup(optarg); diff --git a/control/control.c b/control/control.c index 780a48a..3dc8c7e 100644 --- a/control/control.c +++ b/control/control.c @@ -23,6 +23,13 @@ static void usage(void) exit(EXIT_FAILURE); } +static const struct option opts[] = { + {"shutdown", no_argument, NULL, 's' }, + {"debug", required_argument, NULL, 'd' }, + {"ksmbd-version", no_argument, NULL, 'c' }, + {"version", no_argument, NULL, 'V' }, +}; + static void show_version(void) { printf("ksmbd-tools version : %s\n", KSMBD_TOOLS_VERSION); @@ -101,7 +108,7 @@ int main(int argc, char *argv[]) } opterr = 0; - while ((c = getopt(argc, argv, "sd:cVh")) != EOF) + while ((c = getopt_long(argc, argv, "sd:cVh", opts, NULL)) != EOF) switch (c) { case 's': ret = ksmbd_control_shutdown(); -- 2.25.1