summaryrefslogtreecommitdiffstats
path: root/depends/pack200/src/utils.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-09-30 03:29:12 +0200
committerPetr Mrázek <peterix@gmail.com>2013-09-30 03:29:12 +0200
commitc05a39147a462d610dabaf89dae59c004e7dd539 (patch)
tree10cff4a66c8d9999df7e02648b72b1c7a289ada5 /depends/pack200/src/utils.cpp
parent2173abb9a87c67b53e64c9bdebbba5fa6b4d4b7d (diff)
parente45b444242104e557f1bce14e9c11e3792bbe41f (diff)
downloadMultiMC-c05a39147a462d610dabaf89dae59c004e7dd539.tar
MultiMC-c05a39147a462d610dabaf89dae59c004e7dd539.tar.gz
MultiMC-c05a39147a462d610dabaf89dae59c004e7dd539.tar.lz
MultiMC-c05a39147a462d610dabaf89dae59c004e7dd539.tar.xz
MultiMC-c05a39147a462d610dabaf89dae59c004e7dd539.zip
Implemented xz and pack200 unpackers required for proper forge installation.
Merge branch 'feature_forge_unpackers' into develop Conflicts: CMakeLists.txt
Diffstat (limited to 'depends/pack200/src/utils.cpp')
-rw-r--r--depends/pack200/src/utils.cpp28
1 files changed, 4 insertions, 24 deletions
diff --git a/depends/pack200/src/utils.cpp b/depends/pack200/src/utils.cpp
index 3ea8c92e..0b7d91ca 100644
--- a/depends/pack200/src/utils.cpp
+++ b/depends/pack200/src/utils.cpp
@@ -29,6 +29,7 @@
#include <string.h>
#include <limits.h>
#include <assert.h>
+#include <stdint.h>
#include <sys/stat.h>
@@ -57,35 +58,14 @@ void *must_malloc(size_t size)
}
else
{
- unpack_abort(ERROR_ENOMEM);
+ throw std::runtime_error(ERROR_ENOMEM);
}
return ptr;
}
-void unpack_abort(const char *msg, unpacker *u)
+void unpack_abort(const char *msg)
{
if (msg == nullptr)
msg = "corrupt pack file or internal error";
- if (u == nullptr)
- u = unpacker::current();
- if (u == nullptr)
- {
- fprintf(stderr, "Error: unpacker: %s\n", msg);
- ::abort();
- return;
- }
- u->abort(msg);
-}
-
-bool unpack_aborting(unpacker *u)
-{
- if (u == nullptr)
- u = unpacker::current();
- if (u == nullptr)
- {
- fprintf(stderr, "Error: unpacker: no current instance\n");
- ::abort();
- return true;
- }
- return u->aborting();
+ throw std::runtime_error(msg);
}