I started using libarchive library recently and I have a trouble. I can't set a password to my archive. I'm using following code, but password isn't sets:
void ArchiveFactory::OpenWrite(ArchiveWrite &archWrite,
std::unique_ptr<NativeStreamBase> &stream, OptionMap options)
{
int ret = 0;
auto hint = stream->GetFormatHint();
archWrite.Arch = ArchiveWriteUnique(archive_write_new());
archWrite.Writer = std::move(LibArchiveWriter(stream));
auto finded = ArchiveFactory::WriteFormatHelpers.find(hint);
if (finded != ArchiveFactory::WriteFormatHelpers.end())
{
auto &helper = finded->second;
ret = helper.WriteFmtInit(archWrite.Arch.get());
if (ret == ARCHIVE_OK && helper.CreateOptions != nullptr && helper.WriteFmtSetOpts != nullptr)
{
ret = helper.WriteFmtSetOpts(archWrite.Arch.get(), options);
}
}
ret = archive_write_set_option(archWrite.Arch.get(), nullptr, "hdrcharset", "UTF-8");
ret = archive_write_set_passphrase(archWrite.Arch.get(), "123456");
ret = archive_write_open(archWrite.Arch.get(), &archWrite.Writer, nullptr, LibArchiveWriter::WriteCallback, nullptr);
int stop = 423;
}
Aucun commentaire:
Enregistrer un commentaire