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

Re: [RFC] Update on builtin-commit

From
Kristian Høgsberg <krh@redhat.com>
Date
Jul 2, 2007, 16:51 UTC
Message-ID
<1183395082.30611.16.camel@hinata.boston.redhat.com>
In-Reply-To
<Pine.LNX.4.64.0707021709120.4071@racer.site>
On Mon, 2007-07-02 at 17:11 +0100, Johannes Schindelin wrote:
> just a quick comment on the option parser:
> 
> On most platforms, sizeof(void*)>=sizeof(int). But I would not rely on 
> that. Rather (also because it is prettier), I'd use "union".

In the OPTION_INTEGER case, the 'value' void pointer points to an integer global that's set to the value passed. In the OPTION_NONE, it also points to an integer, which is set to 1 if the option is seen. So I'm relying on sizeof(void*) == sizeof(int*), but I'm not storing ints in pointers.

> Besides, your option parser loses order information, correct? IOW, 
> something like "--color --no-color --color" would confuse it.

Yes, I don't record the order of options, but in the builtin-commit case, I don't think there are any options where that makes a difference? In cases where order is important or we have an option that negates the effect of another option (your --no-color example), we could either 1) extend the option struct with a 'disable' name that flips the value back to 0 or 2) instead of just setting it to 1, record the index of the options passed and compare the indexes of conflicting options to see which one was passed last.

Kristian
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 3 of 6 in “[RFC] Update on builtin-commit”
  1. Kristian HøgsbergJul 2, 2007
  2. Johannes SchindelinJul 2, 2007
  3. Kristian HøgsbergJul 2, 2007
  4. Johannes SchindelinJul 2, 2007
  5. Jeffrey C. OllieJul 2, 2007
  6. Kristian HøgsbergJul 2, 2007

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.