diff mbox series

ksmbd-tools: add missing long option in adduser/addshare/control

Message ID 20220602011410.56202-1-linkinjeon@kernel.org
State New
Headers show
Series ksmbd-tools: add missing long option in adduser/addshare/control | expand

Commit Message

Namjae Jeon June 2, 2022, 1:14 a.m. UTC
Add missing long option in adduser/addshare/control.

Reported-by: David Howells <dhowells@redhat.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
---
 addshare/addshare.c | 11 ++++++++++-
 adduser/adduser.c   | 12 +++++++++++-
 control/control.c   |  9 ++++++++-
 3 files changed, 29 insertions(+), 3 deletions(-)

Comments

Hyunchul Lee June 2, 2022, 5:07 a.m. UTC | #1
Hi Namjae,

2022년 6월 2일 (목) 오전 10:14, Namjae Jeon <linkinjeon@kernel.org>님이 작성:
>
> Add missing long option in adduser/addshare/control.
>
> Reported-by: David Howells <dhowells@redhat.com>
> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
> ---
>  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' },
> +};

We have to add the last element, {NULL, 0, NULL, 0} to avoid
Segment Fault. otherwise Looks good to me.

> +
>  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
>
Namjae Jeon June 2, 2022, 5:20 a.m. UTC | #2
2022-06-02 14:07 GMT+09:00, Hyunchul Lee <hyc.lee@gmail.com>:
> Hi Namjae,
>
> 2022년 6월 2일 (목) 오전 10:14, Namjae Jeon <linkinjeon@kernel.org>님이 작성:
>>
>> Add missing long option in adduser/addshare/control.
>>
>> Reported-by: David Howells <dhowells@redhat.com>
>> Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
>> ---
>>  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' },
>> +};
>
> We have to add the last element, {NULL, 0, NULL, 0} to avoid
> Segment Fault. otherwise Looks good to me.
Good catch. fixed it on v2.

Thanks!
>
>> +
>>  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
>>
>
>
> --
> Thanks,
> Hyunchul
>
diff mbox series

Patch

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();