diff options
author | Jay Berkenbilt <ejb@ql.org> | 2022-04-02 23:14:10 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2022-04-04 14:10:40 +0200 |
commit | 12f1eb15ca3fed6310402847559a7c99d3c77847 (patch) | |
tree | 8935675b623c6f3b4914b8b44f7fa5f2816a9241 /qpdf/test_parsedoffset.cc | |
parent | f20fa61eb4c323eb1642c69c236b3d9a1f8b2cdb (diff) | |
download | qpdf-12f1eb15ca3fed6310402847559a7c99d3c77847.tar.zst |
Programmatically apply new formatting to code
Run this:
for i in **/*.cc **/*.c **/*.h **/*.hh; do
clang-format < $i >| $i.new && mv $i.new $i
done
Diffstat (limited to 'qpdf/test_parsedoffset.cc')
-rw-r--r-- | qpdf/test_parsedoffset.cc | 165 |
1 files changed, 59 insertions, 106 deletions
diff --git a/qpdf/test_parsedoffset.cc b/qpdf/test_parsedoffset.cc index 2fea9cdb..aecaf404 100644 --- a/qpdf/test_parsedoffset.cc +++ b/qpdf/test_parsedoffset.cc @@ -2,40 +2,31 @@ #include <qpdf/QPDFObjectHandle.hh> #include <algorithm> +#include <cstdlib> #include <iostream> #include <map> #include <set> #include <sstream> #include <string> #include <vector> -#include <cstdlib> -void usage() +void +usage() { - std::cerr - << "Usage: test_parsedoffset INPUT.pdf" - << std::endl; + std::cerr << "Usage: test_parsedoffset INPUT.pdf" << std::endl; } -std::string make_objdesc(qpdf_offset_t offset, QPDFObjectHandle obj) +std::string +make_objdesc(qpdf_offset_t offset, QPDFObjectHandle obj) { std::stringstream ss; - ss << "offset = " - << offset - << " (0x" - << std::hex << offset << std::dec + ss << "offset = " << offset << " (0x" << std::hex << offset << std::dec << "), "; - if (obj.isIndirect()) - { - ss << "indirect " - << obj.getObjectID() - << "/" - << obj.getGeneration() + if (obj.isIndirect()) { + ss << "indirect " << obj.getObjectID() << "/" << obj.getGeneration() << ", "; - } - else - { + } else { ss << "direct, "; } @@ -44,65 +35,53 @@ std::string make_objdesc(qpdf_offset_t offset, QPDFObjectHandle obj) return ss.str(); } -void walk(size_t stream_number, QPDFObjectHandle obj, - std::vector< - std::vector< - std::pair<qpdf_offset_t, std::string> - > - > - &result) +void +walk( + size_t stream_number, + QPDFObjectHandle obj, + std::vector<std::vector<std::pair<qpdf_offset_t, std::string>>>& result) { qpdf_offset_t offset = obj.getParsedOffset(); std::pair<qpdf_offset_t, std::string> p = std::make_pair(offset, make_objdesc(offset, obj)); - if (result.size() < stream_number + 1) - { + if (result.size() < stream_number + 1) { result.resize(stream_number + 1); } result[stream_number].push_back(p); - if (obj.isArray()) - { + if (obj.isArray()) { std::vector<QPDFObjectHandle> array = obj.getArrayAsVector(); - for(std::vector<QPDFObjectHandle>::iterator iter = array.begin(); - iter != array.end(); ++iter) - { - if (!iter->isIndirect()) - { + for (std::vector<QPDFObjectHandle>::iterator iter = array.begin(); + iter != array.end(); + ++iter) { + if (!iter->isIndirect()) { // QPDF::GetAllObjects() enumerates all indirect objects. // So only the direct objects are recursed here. walk(stream_number, *iter, result); } } - } - else if(obj.isDictionary()) - { + } else if (obj.isDictionary()) { std::set<std::string> keys = obj.getKeys(); - for(std::set<std::string>::iterator iter = keys.begin(); - iter != keys.end(); ++iter) - { + for (std::set<std::string>::iterator iter = keys.begin(); + iter != keys.end(); + ++iter) { QPDFObjectHandle item = obj.getKey(*iter); - if (!item.isIndirect()) - { + if (!item.isIndirect()) { // QPDF::GetAllObjects() enumerates all indirect objects. // So only the direct objects are recursed here. walk(stream_number, item, result); } } - } - else if(obj.isStream()) - { + } else if (obj.isStream()) { walk(stream_number, obj.getDict(), result); } } -void process(std::string fn, - std::vector< - std::vector< - std::pair<qpdf_offset_t, std::string> - > - > &result) +void +process( + std::string fn, + std::vector<std::vector<std::pair<qpdf_offset_t, std::string>>>& result) { QPDF qpdf; qpdf.processFile(fn.c_str()); @@ -110,39 +89,29 @@ void process(std::string fn, std::map<QPDFObjGen, QPDFXRefEntry> xrefs = qpdf.getXRefTable(); for (std::vector<QPDFObjectHandle>::iterator iter = objs.begin(); - iter != objs.end(); ++iter) - { - if (xrefs.count(iter->getObjGen()) == 0) - { - std::cerr - << iter->getObjectID() - << "/" - << iter->getGeneration() - << " is not found in xref table" - << std::endl; + iter != objs.end(); + ++iter) { + if (xrefs.count(iter->getObjGen()) == 0) { + std::cerr << iter->getObjectID() << "/" << iter->getGeneration() + << " is not found in xref table" << std::endl; std::exit(2); } QPDFXRefEntry xref = xrefs[iter->getObjGen()]; size_t stream_number; - switch (xref.getType()) - { - case 0: - std::cerr - << iter->getObjectID() - << "/" - << iter->getGeneration() - << " xref entry is free" - << std::endl; + switch (xref.getType()) { + case 0: + std::cerr << iter->getObjectID() << "/" << iter->getGeneration() + << " xref entry is free" << std::endl; std::exit(2); - case 1: + case 1: stream_number = 0; break; - case 2: + case 2: stream_number = static_cast<size_t>(xref.getObjStreamNumber()); break; - default: + default: std::cerr << "unknown xref entry type" << std::endl; std::exit(2); } @@ -151,58 +120,42 @@ void process(std::string fn, } } -int main(int argc, char *argv[]) +int +main(int argc, char* argv[]) { - if (argc != 2) - { + if (argc != 2) { usage(); std::exit(2); } - try - { - std::vector< - std::vector< - std::pair<qpdf_offset_t, std::string> - > - > table; + try { + std::vector<std::vector<std::pair<qpdf_offset_t, std::string>>> table; process(argv[1], table); - for (size_t i = 0; i < table.size(); ++i) - { - if (table[i].size() == 0) - { + for (size_t i = 0; i < table.size(); ++i) { + if (table[i].size() == 0) { continue; } std::sort(table[i].begin(), table[i].end()); - if (i == 0) - { + if (i == 0) { std::cout << "--- objects not in streams ---" << std::endl; - } - else - { - std::cout - << "--- objects in stream " << i << " ---" << std::endl; + } else { + std::cout << "--- objects in stream " << i << " ---" + << std::endl; } - for (std::vector< - std::pair<qpdf_offset_t, std::string> - >::iterator + for (std::vector<std::pair<qpdf_offset_t, std::string>>::iterator iter = table[i].begin(); - iter != table[i].end(); ++iter) - { - std::cout - << iter->second - << std::endl; + iter != table[i].end(); + ++iter) { + std::cout << iter->second << std::endl; } } std::cout << "succeeded" << std::endl; - } - catch (std::exception& e) - { + } catch (std::exception& e) { std::cerr << e.what() << std::endl; std::exit(2); } |