diff options
Diffstat (limited to 'Source/cmArchiveWrite.cxx')
-rw-r--r-- | Source/cmArchiveWrite.cxx | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/Source/cmArchiveWrite.cxx b/Source/cmArchiveWrite.cxx index d29b2ac..0f9b42c 100644 --- a/Source/cmArchiveWrite.cxx +++ b/Source/cmArchiveWrite.cxx @@ -170,15 +170,19 @@ cmArchiveWrite::cmArchiveWrite(std::ostream& os, Compress c, cm_archive_error_string(this->Archive)); return; } +} +bool cmArchiveWrite::Open() +{ if (archive_write_open( this->Archive, this, nullptr, reinterpret_cast<archive_write_callback*>(&Callback::Write), nullptr) != ARCHIVE_OK) { this->Error = cmStrCat("archive_write_open: ", cm_archive_error_string(this->Archive)); - return; + return false; } + return true; } cmArchiveWrite::~cmArchiveWrite() @@ -365,3 +369,16 @@ bool cmArchiveWrite::AddData(const char* file, size_t size) } return true; } + +bool cmArchiveWrite::SetFilterOption(const char* module, const char* key, + const char* value) +{ + if (archive_write_set_filter_option(this->Archive, module, key, value) != + ARCHIVE_OK) { + this->Error = "archive_write_set_filter_option: "; + this->Error += cm_archive_error_string(this->Archive); + return false; + } + + return true; +} |