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

Re: [PATCH 3/6] builtin-help: make it possible to exclude some commands in list_commands()

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 28, 2008, 03:05 UTC
Message-ID
<7vljzmwvww.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<alpine.DEB.1.00.0807280442330.5526@eeepc-johanness>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 15 quoted lines
>> > +struct cmdnames {
>> > +	int alloc;
>> > +	int cnt;
>> > +	struct cmdname {
>> > +		size_t len;
>> > +		char name[1];
>> > +	} **names;
>> > +};
>> 
>> I thought we do this kind of thing using FLEX_ARRAY macro.  Is there any
>> reason its use is not appropriate here?
>
> I think that came up in the previous review round: the "name" member _is_ 
> NUL-terminated, but could have a ".exe" suffix.  The "len" member has the 
> length excluding ".exe".
Sorry, but I do understand what you are trying to explain.

Marking the flexible member at the end as "last_member[FLEX_ARRAY]" is about a tiny bit of abstracting out how the exact decl syntax should look like depending on the compiler.

For example, we have:
        struct git_attr {
                struct git_attr *next;
                unsigned h;
                int attr_nr;
                char name[FLEX_ARRAY];
        };

And h is _not_ the length of the name[] (it is a hash to help us find the entry quickly). Jjust like "len" is not the length of the name[] in your structure. In other words, marking as "last_member[FLEX_ARRAY]" does not have anything to do with what other fields you have in the same structure.

Hmm, am I missing a bigger picture somewhere else?
Previous: Johannes SchindelinNext: Junio C Hamano
Message 43 of 46 in “Allow custom merge strategies”
  1. 0/7 Allow custom merge strategiesMiklos Vajna, Jul 26, 2008
  2. 1/7 Make is_git_command() usable outside builtin-helpMiklos Vajna, Jul 26, 2008
  3. t7601: extend the 'merge picks up the best result' testMiklos Vajna, Jul 26, 2008
  4. 2/7 builtin-help: change the current directory back in list_commands_in_dir()Miklos Vajna, Jul 26, 2008
  5. 3/7 builtin-help: make list_commands() a bit more genericMiklos Vajna, Jul 26, 2008
  6. 4/7 builtin-merge: allow using a custom strategyMiklos Vajna, Jul 26, 2008
  7. 5/7 Add a new test for using a custom merge strategyMiklos Vajna, Jul 26, 2008
  8. 6/7 builtin-help: make it possible to exclude some commands in list_commands()Miklos Vajna, Jul 26, 2008
  9. 7/7 builtin-merge: avoid non-strategy git-merge commands in error messageMiklos Vajna, Jul 26, 2008
  10. Johannes SchindelinJul 26, 2008
  11. Miklos VajnaJul 26, 2008
  12. 7/7 builtin-merge: avoid non-strategy git-merge commands in error messageMiklos Vajna, Jul 26, 2008
  13. Johannes SchindelinJul 26, 2008
  14. Miklos VajnaJul 26, 2008
  15. Johannes SchindelinJul 26, 2008
  16. builtin-merge: avoid non-strategy git-merge commands in error messageMiklos Vajna, Jul 26, 2008
  17. Jonathan NiederJul 26, 2008
  18. 3/7 builtin-help: make list_commands() a bit more genericMiklos Vajna, Jul 26, 2008
  19. Johannes SchindelinJul 26, 2008
  20. Junio C HamanoJul 27, 2008
  21. Johannes SchindelinJul 27, 2008
  22. Avoid chdir() in list_commands_in_dir()Johannes Schindelin, Jul 27, 2008
  23. Miklos VajnaJul 26, 2008
  24. Jonathan NiederJul 26, 2008
  25. Miklos VajnaJul 28, 2008
  26. 0/6 Allow custom merge strategies, take 2Miklos Vajna, Jul 28, 2008
  27. 1/6 builtin-help: make is_git_command() usable outside builtin-helpMiklos Vajna, Jul 28, 2008
  28. 2/6 builtin-help: make list_commands() a bit more genericMiklos Vajna, Jul 28, 2008
  29. 3/6 builtin-help: make it possible to exclude some commands in list_commands()Miklos Vajna, Jul 28, 2008
  30. 4/6 builtin-merge: allow using a custom strategyMiklos Vajna, Jul 28, 2008
  31. 5/6 builtin-merge: avoid non-strategy git-merge commands in error messageMiklos Vajna, Jul 28, 2008
  32. 6/6 Add a new test for using a custom merge strategyMiklos Vajna, Jul 28, 2008
  33. Johannes SchindelinJul 28, 2008
  34. 6/6 Add a new test for using a custom merge strategyMiklos Vajna, Jul 28, 2008
  35. Johannes SchindelinJul 28, 2008
  36. Miklos VajnaJul 28, 2008
  37. Miklos VajnaJul 29, 2008
  38. Johannes SchindelinJul 28, 2008
  39. builtin-merge: allow using a custom strategyMiklos Vajna, Jul 28, 2008
  40. Johannes SchindelinJul 28, 2008
  41. Junio C HamanoJul 28, 2008
  42. Johannes SchindelinJul 28, 2008
  43. Junio C HamanoJul 28, 2008
  44. Junio C HamanoJul 28, 2008
  45. Johannes SchindelinJul 28, 2008
  46. 3/6 builtin-help: make it possible to exclude some commands in list_commands()Miklos Vajna, Jul 28, 2008

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.