Updated.
[rsync/rsync-patches.git] / filter.diff
index af1dc7f..6d640a2 100644 (file)
@@ -601,15 +601,15 @@ contained a slash.
 +                      if (isdigit(*arg))
 +                              inherit_exclude_levels = atoi(arg);
 +                      else if (*arg == '.') {
-+                              if (!arg[1])
++                              if (!*++arg)
 +                                      inherit_exclude_levels = 0;
-+                              else if (arg[1] == '.') {
-+                                      inherit_exclude_levels = 0;
-+                                      arg--;
-+                                      do {
++                              else if (*arg == '.') {
++                                      inherit_exclude_levels = 1;
++                                      arg++;
++                                      while (strncmp(arg, "/..", 3) == 0) {
 +                                              inherit_exclude_levels++;
 +                                              arg += 3;
-+                                      } while (strncmp(arg, "/..", 3) == 0);
++                                      }
 +                                      if (*arg)
 +                                              inherit_exclude_levels = -1;
 +                              }