X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Fopt-help.c;h=fdd3ec74108a9e5d543431de306a7c7a500b2c55;hb=ec6703bb4d58e504fde8ea8429f9b26ab6632696;hp=ff98223832d1b98c4565ccd60b5d423b820c4ff2;hpb=1bc3bb66e47ec02003658fb3040aef0ffd7b7540;p=libucw.git diff --git a/ucw/opt-help.c b/ucw/opt-help.c index ff982238..fdd3ec74 100644 --- a/ucw/opt-help.c +++ b/ucw/opt-help.c @@ -33,10 +33,15 @@ static void opt_help_scan_item(struct help *h, struct opt_precomputed *opt) if (!item->help) return; + bool force_col1 = 0; if (item->cls == OPT_CL_HELP) { - struct help_line *l = GARY_PUSH(h->lines); - l->extra = item->help; - return; + if (item->flags & OPT_HELP_COL) { + force_col1 = 1; + } else { + struct help_line *l = GARY_PUSH(h->lines); + l->extra = item->help; + return; + } } if (item->letter >= OPT_POSITIONAL_TAIL) @@ -50,7 +55,7 @@ static void opt_help_scan_item(struct help *h, struct opt_precomputed *opt) if (eol) *eol++ = 0; - int field = (l == first ? 1 : 0); + int field = (l == first && !force_col1 ? 1 : 0); char *f = text; while (f) { char *tab = strchr(f, '\t'); @@ -156,7 +161,7 @@ void opt_help(const struct opt_section * sec) { mp_delete(h.pool); } -void opt_handle_help(struct opt_item * opt UNUSED, const char * value UNUSED, void * data) +void opt_handle_help(const struct opt_item * opt UNUSED, const char * value UNUSED, void * data) { struct opt_context *oc = data; opt_help(oc->options);