Ticket #1963 (closed defect: fixed)
ISO9660 VFS doesn't recognize Joliet extension (losing long filenames)
Reported by: | wjaguar | Owned by: | andrew_b |
---|---|---|---|
Priority: | major | Milestone: | 4.7.5 |
Component: | mc-vfs | Version: | 4.7.0.1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Branch state: | Votes for changeset: | committed-master |
Description
The version of ISO9660 VFS in mc 4.7.0.1 (mc-4.7.0.1/vfs/extfs/iso9660.in) is trying to use awk for string-matching-based tests, instead of grep which previous versions used, and is doing it wrong. As the result, the two tests always default to true, and isoinfo gets called with Joliet extensions and charset conversion both disabled.
And this abuse of awk was entirely unnecessary, for grep is perfectly able to do matching with alternation. Which is demonstrated by the attached bugfix.
Attachments
Change History
comment:2 in reply to: ↑ 1 Changed 15 years ago by wjaguar
Replying to slyfox:
May I ask you to attach some simple small crafted ISO to check on?
Cannot the simple fact that a shell expression like:
echo "nothing" | gawk "/UCS level 1|NO Joliet/" && echo "TRUE"
does in fact print "TRUE", while an expression:
echo "nothing" | grep "UCS level 1\|NO Joliet" && echo "TRUE"
doesn't, be verified without an ISO? :-)
Anyway, here is one: http://mtpaint.sourceforge.net/temp/showbug.iso
comment:3 Changed 15 years ago by wjaguar
I updated the patch, so that it also gets rid of a spurious error message.
And regarding the original cause of #1485, which resulted in this breakage - the problem was really quite simple: in cdrtools 2.01.01 branch, isoinfo just could not use a nondefault encoding till version 2.01.01a68
So I suspect "UCS level 1" was never a problem by itself, and it just so happened that ISOs with non-latin filenames in original reporter's collection were made that way - "UCS level 3" ISOs produce all-underscores "names" too if the filenames are say cyrillic, and encoding is left at default (which is iso8859-1). Which means that when people upgrade to cdrtools 2.01.01a68 or later, for them the check for "UCS level 1" added in #1485 will act as a bug, not a feature.
comment:4 Changed 14 years ago by andrew_b
- Owner set to andrew_b
- Status changed from new to accepted
- severity changed from no branch to on review
- Milestone changed from 4.7 to 4.7.5
Created 1963_iso9660 branch. Parent branch is master.
changeset:3c85b567676b10b66e68eaf6e0af75bb331ff6c4
comment:6 Changed 14 years ago by slavazanko
- Votes for changeset changed from angel_il to angel_il slavazanko
- severity changed from on review to approved
comment:7 Changed 14 years ago by andrew_b
- Status changed from accepted to testing
- Votes for changeset changed from angel_il slavazanko to committed-master
- Resolution set to fixed
- severity changed from approved to merged
Merged to master.
changeset:4de95fe89f1e7ae73e3c49fe95039743deeece51
Cherry-picked to 4.7.0-stable.
changeset:d07692a75f13592be7dc6358732ac3653d74a1e5
May I ask you to attach some simple small crafted ISO to check on?