aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/QPDFObjectHandle.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-06-18 16:33:27 +0200
committerJay Berkenbilt <ejb@ql.org>2022-06-18 16:38:50 +0200
commite0720eaa78a56dafe5f5e572387b3a0cc8c88ec9 (patch)
treeb4a0c2b0a38c723a5e33c06e1f4122e983fdb146 /libqpdf/QPDFObjectHandle.cc
parent83be2191b4f3eb8906160d61f61cae48532ee651 (diff)
downloadqpdf-e0720eaa78a56dafe5f5e572387b3a0cc8c88ec9.tar.zst
Use the default logger for other writes to stdout/stderr
When there is no context for writing output or error messages, use the default logger.
Diffstat (limited to 'libqpdf/QPDFObjectHandle.cc')
-rw-r--r--libqpdf/QPDFObjectHandle.cc24
1 files changed, 10 insertions, 14 deletions
diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc
index 56a545d6..1578f38f 100644
--- a/libqpdf/QPDFObjectHandle.cc
+++ b/libqpdf/QPDFObjectHandle.cc
@@ -5,6 +5,7 @@
#include <qpdf/Pl_QPDFTokenizer.hh>
#include <qpdf/QPDF.hh>
#include <qpdf/QPDFExc.hh>
+#include <qpdf/QPDFLogger.hh>
#include <qpdf/QPDFMatrix.hh>
#include <qpdf/QPDFPageObjectHelper.hh>
#include <qpdf/QPDF_Array.hh>
@@ -578,13 +579,12 @@ QPDFObjectHandle::getIntValueAsInt()
if (v < INT_MIN) {
QTC::TC("qpdf", "QPDFObjectHandle int returning INT_MIN");
warnIfPossible(
- "requested value of integer is too small; returning INT_MIN",
- false);
+ "requested value of integer is too small; returning INT_MIN");
result = INT_MIN;
} else if (v > INT_MAX) {
QTC::TC("qpdf", "QPDFObjectHandle int returning INT_MAX");
warnIfPossible(
- "requested value of integer is too big; returning INT_MAX", false);
+ "requested value of integer is too big; returning INT_MAX");
result = INT_MAX;
} else {
result = static_cast<int>(v);
@@ -610,7 +610,7 @@ QPDFObjectHandle::getUIntValue()
if (v < 0) {
QTC::TC("qpdf", "QPDFObjectHandle uint returning 0");
warnIfPossible(
- "unsigned value request for negative number; returning 0", false);
+ "unsigned value request for negative number; returning 0");
} else {
result = static_cast<unsigned long long>(v);
}
@@ -635,15 +635,12 @@ QPDFObjectHandle::getUIntValueAsUInt()
if (v < 0) {
QTC::TC("qpdf", "QPDFObjectHandle uint uint returning 0");
warnIfPossible(
- "unsigned integer value request for negative number; returning 0",
- false);
+ "unsigned integer value request for negative number; returning 0");
result = 0;
} else if (v > UINT_MAX) {
QTC::TC("qpdf", "QPDFObjectHandle uint returning UINT_MAX");
- warnIfPossible(
- "requested value of unsigned integer is too big;"
- " returning UINT_MAX",
- false);
+ warnIfPossible("requested value of unsigned integer is too big;"
+ " returning UINT_MAX");
result = UINT_MAX;
} else {
result = static_cast<unsigned int>(v);
@@ -3000,16 +2997,15 @@ QPDFObjectHandle::typeWarning(
}
void
-QPDFObjectHandle::warnIfPossible(
- std::string const& warning, bool throw_if_no_description)
+QPDFObjectHandle::warnIfPossible(std::string const& warning)
{
QPDF* context = 0;
std::string description;
dereference();
if (this->obj->getDescription(context, description)) {
warn(context, QPDFExc(qpdf_e_damaged_pdf, "", description, 0, warning));
- } else if (throw_if_no_description) {
- throw std::runtime_error(warning);
+ } else {
+ *QPDFLogger::defaultLogger()->getError() << warning << "\n";
}
}