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

Re: [RFC/PATCH v11 02/13] bisect: rewrite `check_term_format` shell function in C

From
Pranit Bauva <pranit.bauva@gmail.com>
Date
Aug 3, 2016, 20:20 UTC
Message-ID
<CAFZEwPMwen+5wrs3fEOiLUOyf3RrUTV2rftt1c0D4XCVm-UzHg@mail.gmail.com>
In-Reply-To
<xmqq7fbzf56s.fsf@gitster.mtv.corp.google.com>
Hey Junio,
On Tue, Aug 2, 2016 at 11:01 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 24 quoted lines
> Pranit Bauva <pranit.bauva@gmail.com> writes:
>
>> +/*
>> + * Check whether the string `term` belongs to the set of strings
>> + * included in the variable arguments.
>> + */
>> +static int one_of(const char *term, ...)
>> +{
>> +     int res = 0;
>> +     va_list matches;
>> +     const char *match;
>> +
>> +     va_start(matches, term);
>> +     while (!res && (match = va_arg(matches, const char *)))
>> +             res = !strcmp(term, match);
>> +     va_end(matches);
>> +
>> +     return res;
>> +}
>
> It might be safer to mark this function with LAST_ARG_MUST_BE_NULL,
> but because this is static to this function, it may not matter too
> much.  Just an observation, not a strong suggestion to change the
> patch.
Yes, I could do that.
Show 10 quoted lines
>> +static int check_term_format(const char *term, const char *orig_term)
>> +{
>> +     int res;
>> +     char *new_term = xstrfmt("refs/bisect/%s", term);
>> +
>> +     res = check_refname_format(new_term, 0);
>> +     free(new_term);
>
> Yup, that looks much more straight-forward than using a one-time-use
> strbuf.
Thanks!

Regards, Pranit Bauva

Previous: Junio C HamanoNext: Pranit Bauva
Message 25 of 39 in “bisect--helper: use OPT_CMDMODE instead of OPT_BOOL”
  1. 01/13 bisect--helper: use OPT_CMDMODE instead of OPT_BOOLPranit Bauva, Jul 31, 2016
  2. 06/13 wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()Pranit Bauva, Jul 31, 2016
  3. 05/13 t6030: explicitly test for bisection cleanupPranit Bauva, Jul 31, 2016
  4. 03/13 bisect--helper: `write_terms` shell function in CPranit Bauva, Jul 31, 2016
  5. Junio C HamanoAug 2, 2016
  6. Pranit BauvaAug 3, 2016
  7. Junio C HamanoAug 4, 2016
  8. 07/13 bisect--helper: `bisect_reset` shell function in CPranit Bauva, Jul 31, 2016
  9. Junio C HamanoAug 2, 2016
  10. 11/13 bisect--helper: `bisect_next_check` shell function in CPranit Bauva, Jul 31, 2016
  11. Junio C HamanoAug 2, 2016
  12. Pranit BauvaAug 3, 2016
  13. 12/13 bisect--helper: `get_terms` & `bisect_terms` shell function in CPranit Bauva, Jul 31, 2016
  14. Junio C HamanoAug 2, 2016
  15. Pranit BauvaAug 3, 2016
  16. 08/13 bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in CPranit Bauva, Jul 31, 2016
  17. Junio C HamanoAug 2, 2016
  18. 09/13 bisect--helper: `bisect_write` shell function in CPranit Bauva, Jul 31, 2016
  19. Junio C HamanoAug 2, 2016
  20. Junio C HamanoAug 2, 2016
  21. Pranit BauvaAug 3, 2016
  22. Pranit BauvaAug 3, 2016
  23. 02/13 bisect: rewrite `check_term_format` shell function in CPranit Bauva, Jul 31, 2016
  24. Junio C HamanoAug 2, 2016
  25. Pranit BauvaAug 3, 2016
  26. 10/13 bisect--helper: `check_and_set_terms` shell function in CPranit Bauva, Jul 31, 2016
  27. Junio C HamanoAug 2, 2016
  28. Pranit BauvaAug 3, 2016
  29. 13/13 bisect--helper: `bisect_start` shell function partially in CPranit Bauva, Jul 31, 2016
  30. Junio C HamanoAug 2, 2016
  31. Pranit BauvaAug 3, 2016
  32. 04/13 bisect--helper: `bisect_clean_state` shell function in CPranit Bauva, Jul 31, 2016
  33. Junio C HamanoAug 2, 2016
  34. Pranit BauvaAug 3, 2016
  35. Junio C HamanoAug 4, 2016
  36. Pranit BauvaAug 4, 2016
  37. Junio C HamanoAug 4, 2016
  38. Pranit BauvaAug 4, 2016
  39. Junio C HamanoAug 2, 2016

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.