Closed Schlumpfpapa closed 2 years ago
Thanks for reporting! Seems like I need to replace certain symbols before creating the files on the host OS.
Will be fixed in the next release.
Test case: TestDisk.d64.zip
After exporting:
> ls ~/tmp/exports
MY%2fTEST
A new function called fileSystemRepresentation
has been added to class FSDirEntry
to compute the file name for the host OS:
string
FSDirEntry::getFileSystemRepresentation() const
{
auto name = getName().str();
string illegal = "#%&{}\\<>*?/ $!'\":@+`|=";
string result;
for (const auto c: name) {
if (illegal.find(c) != std::string::npos) {
result += "%" + util::hexstr<2>(c);
} else {
result += c;
}
}
return result;
}
v4.5b1 is online.
Trying to export a disk to a directory aborts on the first file which C64 name contains a "
/
".