Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/libslic3r/miniz_extension.cpp')
-rw-r--r--src/libslic3r/miniz_extension.cpp88
1 files changed, 88 insertions, 0 deletions
diff --git a/src/libslic3r/miniz_extension.cpp b/src/libslic3r/miniz_extension.cpp
index 17cc136fc..76b4cb4e5 100644
--- a/src/libslic3r/miniz_extension.cpp
+++ b/src/libslic3r/miniz_extension.cpp
@@ -1,9 +1,17 @@
+#include <exception>
+
#include "miniz_extension.hpp"
#if defined(_MSC_VER) || defined(__MINGW64__)
#include "boost/nowide/cstdio.hpp"
#endif
+#include "I18N.hpp"
+
+//! macro used to mark string used at localization,
+//! return same string
+#define L(s) Slic3r::I18N::translate(s)
+
namespace Slic3r {
namespace {
@@ -68,4 +76,84 @@ bool open_zip_writer(mz_zip_archive *zip, const std::string &fname)
bool close_zip_reader(mz_zip_archive *zip) { return close_zip(zip, true); }
bool close_zip_writer(mz_zip_archive *zip) { return close_zip(zip, false); }
+MZ_Archive::MZ_Archive()
+{
+ mz_zip_zero_struct(&arch);
}
+
+std::string MZ_Archive::get_errorstr(mz_zip_error mz_err)
+{
+ switch (mz_err)
+ {
+ case MZ_ZIP_NO_ERROR:
+ return "no error";
+ case MZ_ZIP_UNDEFINED_ERROR:
+ return L("undefined error");
+ case MZ_ZIP_TOO_MANY_FILES:
+ return L("too many files");
+ case MZ_ZIP_FILE_TOO_LARGE:
+ return L("file too large");
+ case MZ_ZIP_UNSUPPORTED_METHOD:
+ return L("unsupported method");
+ case MZ_ZIP_UNSUPPORTED_ENCRYPTION:
+ return L("unsupported encryption");
+ case MZ_ZIP_UNSUPPORTED_FEATURE:
+ return L("unsupported feature");
+ case MZ_ZIP_FAILED_FINDING_CENTRAL_DIR:
+ return L("failed finding central directory");
+ case MZ_ZIP_NOT_AN_ARCHIVE:
+ return L("not a ZIP archive");
+ case MZ_ZIP_INVALID_HEADER_OR_CORRUPTED:
+ return L("invalid header or archive is corrupted");
+ case MZ_ZIP_UNSUPPORTED_MULTIDISK:
+ return L("unsupported multidisk archive");
+ case MZ_ZIP_DECOMPRESSION_FAILED:
+ return L("decompression failed or archive is corrupted");
+ case MZ_ZIP_COMPRESSION_FAILED:
+ return L("compression failed");
+ case MZ_ZIP_UNEXPECTED_DECOMPRESSED_SIZE:
+ return L("unexpected decompressed size");
+ case MZ_ZIP_CRC_CHECK_FAILED:
+ return L("CRC-32 check failed");
+ case MZ_ZIP_UNSUPPORTED_CDIR_SIZE:
+ return L("unsupported central directory size");
+ case MZ_ZIP_ALLOC_FAILED:
+ return L("allocation failed");
+ case MZ_ZIP_FILE_OPEN_FAILED:
+ return L("file open failed");
+ case MZ_ZIP_FILE_CREATE_FAILED:
+ return L("file create failed");
+ case MZ_ZIP_FILE_WRITE_FAILED:
+ return L("file write failed");
+ case MZ_ZIP_FILE_READ_FAILED:
+ return L("file read failed");
+ case MZ_ZIP_FILE_CLOSE_FAILED:
+ return L("file close failed");
+ case MZ_ZIP_FILE_SEEK_FAILED:
+ return L("file seek failed");
+ case MZ_ZIP_FILE_STAT_FAILED:
+ return L("file stat failed");
+ case MZ_ZIP_INVALID_PARAMETER:
+ return L("invalid parameter");
+ case MZ_ZIP_INVALID_FILENAME:
+ return L("invalid filename");
+ case MZ_ZIP_BUF_TOO_SMALL:
+ return L("buffer too small");
+ case MZ_ZIP_INTERNAL_ERROR:
+ return L("internal error");
+ case MZ_ZIP_FILE_NOT_FOUND:
+ return L("file not found");
+ case MZ_ZIP_ARCHIVE_TOO_LARGE:
+ return L("archive is too large");
+ case MZ_ZIP_VALIDATION_FAILED:
+ return L("validation failed");
+ case MZ_ZIP_WRITE_CALLBACK_FAILED:
+ return L("write calledback failed");
+ default:
+ break;
+ }
+
+ return "unknown error";
+}
+
+} // namespace Slic3r