On Fri, Sep 16, 2005 at 03:27:22PM +0200, Paul Slootman wrote:
> I've found that when "!" was scanned, the pointer was not advanced,
> hence there appeared to be trailing chars... The following patch seems
> to fix it.

No, the pointer must not be advanced or it will not properly handle
names that start with a '!'.  Thus, your patch creates a new bug.

The problem is that the length-check was trying to only complain about
fitler rules, but it also accidentally complaind about cvsignore rules.
The fix is attached.

..wayne..
--- exclude.c   29 Jul 2005 18:31:07 -0000      1.119
+++ exclude.c   16 Sep 2005 16:07:14 -0000
@@ -827,7 +827,8 @@ static const char *parse_rule_tok(const 
                len = strlen((char*)s);
 
        if (new_mflags & MATCHFLG_CLEAR_LIST) {
-               if (!(xflags & XFLG_OLD_PREFIXES) && len) {
+               if (!(mflags & MATCHFLG_NO_PREFIXES)
+                && !(xflags & XFLG_OLD_PREFIXES) && len) {
                        rprintf(FERROR,
                                "'!' rule has trailing characters: %s\n", p);
                        exit_cleanup(RERR_SYNTAX);
-- 
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

Reply via email to