Commit ed2fb6a8a31c8801d03e6a397bd15d814eaf73a8
1 parent
85b96841
Refactor `QPDF::validatePDFVersion`: relocate from `QPDF` to `Objects`, update u…
…sages, and clean up `QPDF.hh`.
Showing
5 changed files
with
22 additions
and
22 deletions
include/qpdf/QPDF.hh
| @@ -791,8 +791,6 @@ class QPDF | @@ -791,8 +791,6 @@ class QPDF | ||
| 791 | bool is_root_metadata, | 791 | bool is_root_metadata, |
| 792 | std::unique_ptr<Pipeline>& heap); | 792 | std::unique_ptr<Pipeline>& heap); |
| 793 | 793 | ||
| 794 | - static bool validatePDFVersion(char const*&, std::string& version); | ||
| 795 | - | ||
| 796 | // JSON import | 794 | // JSON import |
| 797 | void importJSON(std::shared_ptr<InputSource>, bool must_be_complete); | 795 | void importJSON(std::shared_ptr<InputSource>, bool must_be_complete); |
| 798 | 796 |
libqpdf/QPDF.cc
| @@ -315,25 +315,6 @@ QPDF::numWarnings() const | @@ -315,25 +315,6 @@ QPDF::numWarnings() const | ||
| 315 | return m->warnings.size(); | 315 | return m->warnings.size(); |
| 316 | } | 316 | } |
| 317 | 317 | ||
| 318 | -bool | ||
| 319 | -QPDF::validatePDFVersion(char const*& p, std::string& version) | ||
| 320 | -{ | ||
| 321 | - if (!util::is_digit(*p)) { | ||
| 322 | - return false; | ||
| 323 | - } | ||
| 324 | - while (util::is_digit(*p)) { | ||
| 325 | - version.append(1, *p++); | ||
| 326 | - } | ||
| 327 | - if (!(*p == '.' && util::is_digit(*(p + 1)))) { | ||
| 328 | - return false; | ||
| 329 | - } | ||
| 330 | - version.append(1, *p++); | ||
| 331 | - while (util::is_digit(*p)) { | ||
| 332 | - version.append(1, *p++); | ||
| 333 | - } | ||
| 334 | - return true; | ||
| 335 | -} | ||
| 336 | - | ||
| 337 | void | 318 | void |
| 338 | QPDF::warn(QPDFExc const& e) | 319 | QPDF::warn(QPDFExc const& e) |
| 339 | { | 320 | { |
libqpdf/QPDF_json.cc
| @@ -482,7 +482,7 @@ QPDF::JSONReactor::dictionaryItem(std::string const& key, JSON const& value) | @@ -482,7 +482,7 @@ QPDF::JSONReactor::dictionaryItem(std::string const& key, JSON const& value) | ||
| 482 | if (value.getString(v)) { | 482 | if (value.getString(v)) { |
| 483 | std::string version; | 483 | std::string version; |
| 484 | char const* p = v.c_str(); | 484 | char const* p = v.c_str(); |
| 485 | - if (QPDF::validatePDFVersion(p, version) && (*p == '\0')) { | 485 | + if (objects.validatePDFVersion(p, version) && *p == '\0') { |
| 486 | pdf.m->pdf_version = version; | 486 | pdf.m->pdf_version = version; |
| 487 | return true; | 487 | return true; |
| 488 | } | 488 | } |
libqpdf/QPDF_objects.cc
| @@ -123,6 +123,25 @@ class Objects::PatternFinder final: public InputSource::Finder | @@ -123,6 +123,25 @@ class Objects::PatternFinder final: public InputSource::Finder | ||
| 123 | }; | 123 | }; |
| 124 | 124 | ||
| 125 | bool | 125 | bool |
| 126 | +Objects::validatePDFVersion(char const*& p, std::string& version) | ||
| 127 | +{ | ||
| 128 | + if (!util::is_digit(*p)) { | ||
| 129 | + return false; | ||
| 130 | + } | ||
| 131 | + while (util::is_digit(*p)) { | ||
| 132 | + version.append(1, *p++); | ||
| 133 | + } | ||
| 134 | + if (!(*p == '.' && util::is_digit(*(p + 1)))) { | ||
| 135 | + return false; | ||
| 136 | + } | ||
| 137 | + version.append(1, *p++); | ||
| 138 | + while (util::is_digit(*p)) { | ||
| 139 | + version.append(1, *p++); | ||
| 140 | + } | ||
| 141 | + return true; | ||
| 142 | +} | ||
| 143 | + | ||
| 144 | +bool | ||
| 126 | Objects::findHeader() | 145 | Objects::findHeader() |
| 127 | { | 146 | { |
| 128 | qpdf_offset_t global_offset = m->file->tell(); | 147 | qpdf_offset_t global_offset = m->file->tell(); |
libqpdf/qpdf/QPDF_private.hh
| @@ -1000,6 +1000,8 @@ class QPDF::Doc::Objects: Common | @@ -1000,6 +1000,8 @@ class QPDF::Doc::Objects: Common | ||
| 1000 | std::shared_ptr<QPDFObject> getObjectForJSON(int id, int gen); | 1000 | std::shared_ptr<QPDFObject> getObjectForJSON(int id, int gen); |
| 1001 | size_t table_size(); | 1001 | size_t table_size(); |
| 1002 | 1002 | ||
| 1003 | + static bool validatePDFVersion(char const*&, std::string& version); | ||
| 1004 | + | ||
| 1003 | // For QPDFWriter: | 1005 | // For QPDFWriter: |
| 1004 | 1006 | ||
| 1005 | std::map<QPDFObjGen, QPDFXRefEntry> const& xref_table(); | 1007 | std::map<QPDFObjGen, QPDFXRefEntry> const& xref_table(); |