Я использую QuaZip для сжатия файлов. В библиотеке есть ошибка, когда вы пытаетесь заархивировать некоторые папки, содержащие символические ссылки (псевдонимы на Mac), атрибуты файла не сохраняются в архиве правильно. Есть ли возможность установить атрибут filetype (file, directory, symlink и т. Д.) Через Qt или unix API?
Я видел, что в Qt все флаги обрабатываются через QFile::setPermissions()
метод.
Вот в QFileSystemEngine::setPermissions()
(Источник Qt) Реализация Qt также обрабатывает другие флаги, отличные от QFile::Permissions
,
Из источника Qt:
if (success && data) {
data->entryFlags &= ~QFileSystemMetaData::Permissions;
data->entryFlags |= QFileSystemMetaData::MetaDataFlag(uint(permissions));
data->knownFlagsMask |= QFileSystemMetaData::Permissions;
}
Как эта ситуация решается в утилитах zip / unzip?
Задача ещё не решена.
Других решений пока нет …