Hi Lloyd,
I don't know C++, but reading source code of browserplus-bp-zipper-331e059, I see that it is used allways UTF8. Non-ascii systems uses UTF7 encoding.
By instance, there is this function in program service.cpp:
IVisitor::tResult
Zipper::SizeVisitor::visitNode(const Path& p,
const Path& /*relPath*/)
{
try {
// "p" will be a link if !followLinks or if
// link is broken. In either case, we won't
// be archiving it
if (isLink(p)) {
return eOk;
}
if (bfs::is_directory(p)) {
// dirs count as 1 byte
m_size++;
} else if (bfs::exists(p)) {
m_size += bfs::file_size(p);
}
} catch (const tFileSystemError& e) {
m_zipper->log(BP_ERROR, "SizeVisitor on " + p.
utf8()
+ "catches boost::filesystem exception, path1: '"
+ Path(e.path1()).utf8()
+", path2: '" + Path(e.path2()).
utf8()
+ "' (" + e.what() + ")");
}
return eOk;
}
All functions in service.cpp use UTF8. Maybe using UTF7, as well, will allow to zip on non-ascii systems.
Is there any chance that soon we could use bp-zipper on non-ascii system?
Best Regards.