On Thu, May 19, 2011 at 12:56:23PM -0500, William Rowe wrote:
> [moving from embargoed to open discussion]
> On 5/19/2011 9:53 AM, Joe Orton wrote:
> > On Wed, May 18, 2011 at 04:11:19PM -0500, William Rowe wrote:
> >> On 5/18/2011 3:55 PM, Joe Orton wrote:
> > b) glibc does not match the pattern "\/" against "/" with FNM_PATHNAME
> > set, but APR does:
> >
> > 0000000052585e22 apr_fnmatch(".*\//", ".//", 2) = 0, glibc=1
>
> Do we want to change this behavior? We must still be careful of the
> special meaning of '/' but we can force a mismatch by dropping the
> logic at line 218-219, which quietly ignores the leading backslash.
> Other tests for \/ must remain.
If the spec doesn't disallow the current behaviour I don't see any harm
in keeping it, the pattern is unambiguous.
...
> I'm omitting your list for another pass through your tests, now that
> we have a fix on 1.4 branch (and trunk) to the issue you caught.
I screwed up the long run I set up last night so it did not complete :(
I've done one short run this morning with the 1.4.x tip. In the diff vs
glibc, I filtered out patterns with ']', '[' and '/' within [], and also
patterns containing \/. Only two patterns remained with different
behaviour:
000000009199a75c apr_fnmatch("*?[.].", "/..", 4) = 0, glibc=1
00000000a504a704 apr_fnmatch("*?*[^aa]", "/.", 4) = 0, glibc=1
the flag used is APR_FNM_PERIOD. APR looks correct for the first, I am
not sure why the second is matching.
Regards, Joe