Re: What's cooking in git.git (Jan 2017, #02; Sun, 15)
From: Jeff King <hidden>
Date: 2017-01-17 08:00:05
On Mon, Jan 16, 2017 at 05:33:44PM -0800, Jacob Keller wrote:
quoted
I am certainly sympathetic to the idea that the "?" is ugly and potentially confusing. But I think it's at least a step forward for this particular example.Would it be possible to convert the CR to a literal \r printing? Since it's pretty common to show these characters as slash-escaped? (Or is that too much of a Unix world thing?) I know I'd find \r less confusing than '?'
I discussed this in the original commit message. Yes, it's possible, but it's a little tricky. We want to fprintf() the whole thing as a unit (to increase the chances of it being done in an atomic write()). We don't want to use a dynamic buffer, since we might be called from a signal handler, or when malloc has failed, etc. So I tried to stick to something that could reliably done in place. We could probably get by with 2 static buffers and copy from one to the other (if stack space is an issue, the current one is 4K, which is probably excessively large anyway). Mostly I just assumed that it was highly unlikely anybody would see this escaping in the first place. So I tried to go with the simplest solution. -Peff