Re: [PATCH] ksmbd-tools: add missing long option in adduser/addshare/control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2022-06-02 14:07 GMT+09:00, Hyunchul Lee <hyc.lee@xxxxxxxxx>:
> Hi Namjae,
>
> 2022년 6월 2일 (목) 오전 10:14, Namjae Jeon <linkinjeon@xxxxxxxxxx>님이 작성:
>>
>> 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' },
>> +};
>
> 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
>




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux