unzFile m_unzip;
size_t m_default_buffer_size;
bool m_is_open;
-
- struct ComparePaths : public std::binary_function<bool, std::string, std::string> {
- bool operator()(const std::string& lhs, const std::string& rhs) {
- return lhs.length() > rhs.length();
- }
- };
- std::map<std::string, __mode_t, ComparePaths> path_access_map;
+ std::map<std::string, __mode_t> path_access_map;
friend class UnZipExtractRequest;
};
getArchiveLogMessage(err, "unzGetCurrentFileInfo()"),
("ret: %d", err));
}
-
LoggerD("Input from ZIP: m_filename_inzip: [%s]", m_filename_inzip);
LoggerD("m_base_strip_path: [%s]", m_base_strip_path.c_str());
// hold access information for later set
// The high 16 bits of the external file attributes seem to be used for OS-specific permissions
__mode_t mode = m_file_info.external_fa >> 16;
+ LoggerD("Storing permissions for %s: %u", m_filename_inzip, mode);
// check if proper permission mode is provided, if not use default 0775
if (mode == 0) {
mode = S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH;