X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/176e8e94c363ffeb8b5fe0b1fd516c8b63fb0ba1..fc4bb1230ea04ba36b98d28014599448baa82e90:/support/file-attr-restore diff --git a/support/file-attr-restore b/support/file-attr-restore index 7238b00f..a053e1d9 100755 --- a/support/file-attr-restore +++ b/support/file-attr-restore @@ -32,15 +32,15 @@ my $detail_line = qr{ \d+ \s+ # ignore size ([-bcdlps]) # 1. File type ( [-r][-w][-xsS] # 2. user-permissions - [-r][-w][-xsS] # 3. group-permissions - [-r][-w][-xtT] ) \s+ # 4. other-permissions + [-r][-w][-xsS] # group-permissions + [-r][-w][-xtT] ) \s+ # other-permissions \d+ \s+ # ignore number of links - (\S+) \s+ # 5. owner - (\S+) \s+ # 6. group + (\S+) \s+ # 3. owner + (\S+) \s+ # 4. group (?: \d+ \s+ )? # ignore size (when present) \w+ \s+ \d+ \s+ # ignore month and date \d+ (?: : \d+ )? \s+ # ignore time or year - ([^\r\n]+) $ # 7. name + ([^\r\n]+) $ # 5. name }x; while (<>) { @@ -48,7 +48,7 @@ while (<>) { die "Invalid input line $.:\n$_" unless defined $name; die "A filename is not properly escaped:\n$_" unless $name =~ /^[^"\\]*(\\(\d\d\d|\D)[^"\\]*)*$/; my $fn = $name; - $fn =~ s/\\(\d+|[A-Za-z]|.)/ eval "\"\\$1\"" /eg; + $fn =~ s/\\(\d+|.)/ eval "\"\\$1\"" /eg; if ($type eq '-') { undef $type unless -f $fn; } elsif ($type eq 'd') {