git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCHv2 1/2] parse-options: add PARSE_OPT_LITERAL_ARGHELP for complicated argh's

From
Stephen Boyd <bebarino@gmail.com>
Date
May 21, 2009, 21:27 UTC
Message-ID
<4A15C73D.3010301@gmail.com>
In-Reply-To
<780e0a6b0905211203g3223fe3fp5eed27ebf244394a@mail.gmail.com>
Stephen Boyd wrote:
Show 19 quoted lines
> On Thu, May 21, 2009 at 9:51 AM, René Scharfe
> <rene.scharfe@lsrfire.ath.cx> wrote:
>> Junio C Hamano schrieb:
>>> Hmmm, why does this break t0040 (I am queuing this on top of 5acb3e5)?
>> Probably because it changes this:
>>
>> Â  Â  Â  Â pos += fprintf(...);
>>
>> into this (simplified, usage_argh() expanded):
>>
>> Â  Â  Â  Â pos += pos + fprintf(...);
>>
>> usage_argh() doesn't need the parameter pos.
>>
>> René
>>
>
> Woops. I thought I ran the tests but I guess I didn't. This is the
> correct fix, thanks.
And here's the patch you can squash in.
diff --git a/parse-options.c b/parse-options.c
index 2b880b1..e8955be 100644
--- a/parse-options.c
+++ b/parse-options.c
@@ -361,7 +361,7 @@ int parse_options(int argc, const char **argv, const struct option *options,
        return parse_options_end(&ctx);
 }

-static int usage_argh(const struct option *opts, int pos)
+static int usage_argh(const struct option *opts)
 {
        const char *s;
        int literal = opts->flags & PARSE_OPT_LITERAL_ARGHELP;
@@ -372,7 +372,7 @@ static int usage_argh(const struct option *opts, int pos)
                        s = literal ? "[%s]" : "[<%s>]";
        else
                s = literal ? " %s" : " <%s>";
-       return pos + fprintf(stderr, s, opts->argh);
+       return fprintf(stderr, s, opts->argh);
 }

 #define USAGE_OPTS_WIDTH 24
@@ -436,7 +436,7 @@ int usage_with_options_internal(const char * const *usagestr,
                        /* FALLTHROUGH */
                case OPTION_STRING:
                        if (opts->argh)
-                               pos += usage_argh(opts, pos);
+                               pos += usage_argh(opts);
                        else {
                                if (opts->flags & PARSE_OPT_OPTARG)
                                        if (opts->long_name)
Previous: Stephen Boyd
Message 6 of 6 in “[PATCHv2 1/2] parse-options: add PARSE_OPT_LITERAL_ARGHELP for complicated argh's”
  1. Stephen BoydMay 21, 2009
  2. 2/2 show-branch: migrate to parse-options APIStephen Boyd, May 21, 2009
  3. Junio C HamanoMay 21, 2009
  4. René ScharfeMay 21, 2009
  5. Stephen BoydMay 21, 2009
  6. Stephen BoydMay 21, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.