diff --git a/catgirl.1 b/catgirl.1 index 5412a52..213b504 100644 --- a/catgirl.1 +++ b/catgirl.1 @@ -15,7 +15,7 @@ .Op Fl N Ar notify .Op Fl O Ar open .Op Fl S Ar bind -.Op Fl T Ar timestamp +.Op Fl T Ns Op Ar timestamp .Op Fl a Ar plain .Op Fl c Ar cert .Op Fl h Ar host @@ -188,7 +188,7 @@ Bind to source address .Ar host when connecting to the server. . -.It Fl T Ar format | Cm timestamp Op = Ar format +.It Fl T Ns Oo Ar format Oc | Cm timestamp Op = Ar format Show timestamps by default, in the specified .Xr strftime 3 diff --git a/chat.c b/chat.c index 3f6aa71..09d0ca6 100644 --- a/chat.c +++ b/chat.c @@ -190,10 +190,11 @@ int main(int argc, char *argv[]) { { .val = 'w', .name = "pass", required_argument }, {0}, }; - char opts[2 * ARRAY_LEN(options)]; + char opts[3 * ARRAY_LEN(options)]; for (size_t i = 0, j = 0; i < ARRAY_LEN(options); ++i) { opts[j++] = options[i].val; - if (options[i].has_arg) opts[j++] = ':'; + if (options[i].has_arg != no_argument) opts[j++] = ':'; + if (options[i].has_arg == optional_argument) opts[j++] = ':'; } for (int opt; 0 < (opt = getopt_config(argc, argv, opts, options, NULL));) {