[PATCH] isofs fix: do not skip all .dotfiles
Denys Vlasenko
vda.linux at googlemail.com
Thu Oct 15 16:56:04 UTC 2015
There appears to be an easy bug in iso9660 helper:
if (name ~ /^\.\.?/) next
means "skip all lines which start with one or two dots".
Author probably meant: if (name ~ /^\.\.?$/) next
I propose to not be cryptic and just check both possibilities separately.
The below trivial patch was tested to work: now I see
the file named ".dot" in a test iso file.
(Note: there seems to be another bug: SEMICOLON = "YES"
is not a correct comparison (should use ==),
it's assignment! As a result, sub(";1$", "", name);
is always executed).
--- a/src/vfs/extfs/helpers/iso9660.in
+++ b/src/vfs/extfs/helpers/iso9660.in
@@ -156,7 +156,8 @@ BEGIN {
if (SEMICOLON = "YES") sub(";1$", "", name);
## sub(";[0-9]+$", "", name) ## would break copyout
# skip . and ..
- if (name ~ /^\.\.?/) next;
+ if (name == ".") next;
+ if (name == "..") next;
printf "%s%s%s\n", attr, dir, name
}'
}
More information about the mc-devel
mailing list