From: Eric Sunshine Date: Wed, 13 Oct 2010 19:23:47 GMT Subject: Re: [PATCH v4 02/15] mingw: implement syslog Message-ID: <4CB60743.2030908@sunshineco.com> In-Reply-To: On 10/13/2010 08:36 AM, Erik Faye-Lund wrote: > On Tue, Oct 12, 2010 at 12:37 AM, Jonathan Nieder 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