aboutsummaryrefslogtreecommitdiffstats
path: root/zlib-flate/zlib-flate.cc
diff options
context:
space:
mode:
Diffstat (limited to 'zlib-flate/zlib-flate.cc')
-rw-r--r--zlib-flate/zlib-flate.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/zlib-flate/zlib-flate.cc b/zlib-flate/zlib-flate.cc
index 4d65bcc3..ae0fa4e1 100644
--- a/zlib-flate/zlib-flate.cc
+++ b/zlib-flate/zlib-flate.cc
@@ -76,6 +76,12 @@ int main(int argc, char* argv[])
PointerHolder<Pl_StdioFile> out = new Pl_StdioFile("stdout", stdout);
PointerHolder<Pl_Flate> flate =
new Pl_Flate("flate", out.getPointer(), action);
+ bool warn = false;
+ flate->setWarnCallback([&warn](char const* msg, int code) {
+ warn = true;
+ std::cerr << whoami << ": WARNING: zlib code " << code
+ << ", msg = " << msg << std::endl;
+ });
try
{
@@ -97,9 +103,13 @@ int main(int argc, char* argv[])
}
catch (std::exception& e)
{
- std::cerr << e.what() << std::endl;
+ std::cerr << whoami << ": " << e.what() << std::endl;
exit(2);
}
+ if (warn)
+ {
+ exit(3);
+ }
return 0;
}