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

Re: What's cooking in git.git (Jan 2016, #02; Mon, 11)

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 13, 2016, 23:44 UTC
Message-ID
<xmqqpox5kpsy.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20160113232255.GA17937@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 11 quoted lines
> I think you'll end up with some of the callers being a bit uglier. I.e.,
> where we say:
>
>   strbuf_getline(&buf, in, delim);
>
> and "delim" is set elsewhere. These will become:
>
>   if (delim == '\n') /* or maybe even "if (nul_terminate)" */
> 	strbuf_getline_lf(&buf, in);
>   else
> 	strbuf_getline_nul(&buf, in);

My plan is to use a function pointer to switch between them. A code like the above in practice look more like

(1) there is a config/option parser that sets line_terminator that
    is typically a file-scope global.
	if (z_option)
        	line_terminator = '\0';
	else
        	line_terminator = '\n';
(2) the callsite calls getline with it
	strbuf_getline(..., line_terminator);

So we can introduce a file-scope global, (*getline_fn)(), and then tweak (1) by removing line_terminator and replacing the assignment with an assignment to getline_fn.

Previous: Jeff KingNext: Junio C Hamano
Message 10 of 19 in “What's cooking in git.git (Jan 2016, #02; Mon, 11)”
  1. Junio C HamanoJan 11, 2016
  2. Mike HommeyJan 12, 2016
  3. Junio C HamanoJan 12, 2016
  4. Edmundo Carmona AntoranzJan 12, 2016
  5. Johannes SchindelinJan 12, 2016
  6. Junio C HamanoJan 12, 2016
  7. Jeff KingJan 12, 2016
  8. Junio C HamanoJan 13, 2016
  9. Jeff KingJan 13, 2016
  10. Junio C HamanoJan 13, 2016
  11. Junio C HamanoJan 13, 2016
  12. Jeff KingJan 14, 2016
  13. David A. GreeneJan 13, 2016
  14. Michael J GruberJan 18, 2016
  15. Jeff KingJan 18, 2016
  16. Eric WongJan 18, 2016
  17. Michael J GruberJan 19, 2016
  18. Duy NguyenJan 25, 2016
  19. Junio C HamanoJan 25, 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.