New wildmatch code in CVS

Wayne Davison wayned at
Sun Jul 6 14:48:15 EST 2003

On Sat, Jul 05, 2003 at 06:15:22PM -0700, jw schultz wrote:
> If i may ask, why this change?

I appear to have accidentally left that out this time (though I did
mention it long ago when discussing the fixes I wanted to make to the
exclude code).

The big thing this does is to make "**" and "*" work correctly when used
together.  The current code makes an "*" work like "**" if there is a
"**" somewhere else on the line.

I have also seen some buggy behavior in fnmatch()'s character-class
handling, as mentioned below.

> Does this introduce any changes in behavior of patterns?

Besides bug fixes, it should not.  The buggy behavior of '**'s effect on
'*' was mentioned in the documentation, though, so it could affect some

Beyond that, the character-class changes I've seen have been pretty
obscure and should hopefully not affect anyone:

    [\\-^] should match "]".
    [[:digit:][:upper:][:space:]] should match "1".

Both those things fail with the fnmatch on my system (the second one
works if I juggle the order of the digit/upper/space classes).


More information about the rsync mailing list