Subject: Re: [PATCH v4 02/15] mingw: implement syslog

From: Eric Sunshine <[email-masked]>
Date: Wed, 13 Oct 2010 15:23:47 -0400

On 10/13/2010 08:36 AM, Erik Faye-Lund wrote:
> On Tue, Oct 12, 2010 at 12:37 AM, Jonathan Nieder<[email-masked]>  wrote:
>> Erik Faye-Lund wrote:
>>
>>> The string gets inlined into itself (with a limit of 100 expansions)
>>> leading to string like "foo %1 bar" becoming "foo foo foo ... foo %1
>>> bar bar bar ... bar". With our expansion, it becomes "foo % 1 bar"
>>> instead.
>>
>> Ah, ok.  Sounds like there is no need to worry about requests for "%%1"
>> etc.  Thanks for explaining.
>>
> Actually, %%1 is a bit of a tricky one. It seems that %%1 is used to
> escape %1 on Windows 7, but not on earlier Windows version. I did test
> this on Vista an XP earlier, but I'll re-test again later and report
> back, in case my earlier tests were flawed.

If that worked universally, escaping '%1' to '%%1' certainly would be 
nicer than '% 1'. (More generally, escape '%n' to '%%n', where n is a 
number.) It also would simplify the log message.

> Can %%1 occur in an IPv6 address at all? If not, I'm tempted to not
> handle it (unless it turns out I was wrong about %%1-escaping on Vista
> and XP).

According to sources I have studied, %%1 would be unlikely (or perhaps 
invalid) in IPv6 addresses.

http://en.wikipedia.org/wiki/IPv6_address#Link-local_addresses_and_zone_indices

-- ES