From 5f59c32f876556a031dd2536b5c7f0fb0b58968d Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Wed, 27 Jun 2012 10:43:27 -0400 Subject: Add a few minor enhancements to recent work Test coverage case for new newStream method Expose decimal_places argument for double-based newReal All enhancements suggested by Tobias. --- examples/pdf-double-page-size.cc | 3 +-- include/qpdf/QPDFObjectHandle.hh | 2 +- libqpdf/QPDFObjectHandle.cc | 5 +++-- qpdf/qpdf.testcov | 1 + 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/examples/pdf-double-page-size.cc b/examples/pdf-double-page-size.cc index bfdd3aef..c2eb48a3 100644 --- a/examples/pdf-double-page-size.cc +++ b/examples/pdf-double-page-size.cc @@ -36,8 +36,7 @@ static void doubleBoxSize(QPDFObjectHandle& page, char const* box_name) { doubled.push_back( QPDFObjectHandle::newReal( - QUtil::double_to_string( - box.getArrayItem(i).getNumericValue() * 2.0, 2))); + box.getArrayItem(i).getNumericValue() * 2.0, 2)); } page.replaceKey(box_name, QPDFObjectHandle::newArray(doubled)); } diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index 8cfe56f3..a61277a9 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -102,7 +102,7 @@ class QPDFObjectHandle QPDF_DLL static QPDFObjectHandle newReal(std::string const& value); QPDF_DLL - static QPDFObjectHandle newReal(double value); + static QPDFObjectHandle newReal(double value, int decimal_places = 0); QPDF_DLL static QPDFObjectHandle newName(std::string const& name); QPDF_DLL diff --git a/libqpdf/QPDFObjectHandle.cc b/libqpdf/QPDFObjectHandle.cc index 139ca02b..4d6c5f79 100644 --- a/libqpdf/QPDFObjectHandle.cc +++ b/libqpdf/QPDFObjectHandle.cc @@ -604,9 +604,9 @@ QPDFObjectHandle::newReal(std::string const& value) } QPDFObjectHandle -QPDFObjectHandle::newReal(double value) +QPDFObjectHandle::newReal(double value, int decimal_places) { - return QPDFObjectHandle(new QPDF_Real(value)); + return QPDFObjectHandle(new QPDF_Real(value, decimal_places)); } QPDFObjectHandle @@ -683,6 +683,7 @@ QPDFObjectHandle::newStream(QPDF* qpdf, PointerHolder data) QPDFObjectHandle QPDFObjectHandle::newStream(QPDF* qpdf, std::string const& data) { + QTC::TC("qpdf", "QPDFObjectHandle newStream with string"); PointerHolder b = new Buffer(data.length()); unsigned char* bp = b->getBuffer(); memcpy(bp, (char*)data.c_str(), data.length()); diff --git a/qpdf/qpdf.testcov b/qpdf/qpdf.testcov index 5c40037e..35d89d92 100644 --- a/qpdf/qpdf.testcov +++ b/qpdf/qpdf.testcov @@ -213,3 +213,4 @@ QPDFObjectHandle ERR shallow copy stream 0 QPDFObjectHandle shallow copy array 0 QPDFObjectHandle shallow copy dictionary 0 QPDFObjectHandle shallow copy scalar 0 +QPDFObjectHandle newStream with string 0 -- cgit v1.2.3-54-g00ecf