Commit 1e53da74bc3cf0cbd3bd3dae2890e83ad33c3ed4

Authored by Jay Berkenbilt
Committed by GitHub
2 parents a2c7471e 82efe52b

Merge pull request #918 from m-holger/fixqdf

Code tidy QdfFixer methods
Showing 1 changed file with 8 additions and 15 deletions
qpdf/fix-qdf.cc
@@ -316,21 +316,18 @@ QdfFixer::processLines(std::string const& input) @@ -316,21 +316,18 @@ QdfFixer::processLines(std::string const& input)
316 void 316 void
317 QdfFixer::checkObjId(std::string const& cur_obj_str) 317 QdfFixer::checkObjId(std::string const& cur_obj_str)
318 { 318 {
319 - int cur_obj = QUtil::string_to_int(cur_obj_str.c_str());  
320 - if (cur_obj != last_obj + 1) { 319 + if (std::stoi(cur_obj_str) != ++last_obj) {
321 fatal( 320 fatal(
322 filename + ":" + std::to_string(lineno) + ": expected object " + 321 filename + ":" + std::to_string(lineno) + ": expected object " +
323 - std::to_string(last_obj + 1)); 322 + std::to_string(last_obj));
324 } 323 }
325 - last_obj = cur_obj;  
326 - xref.push_back(QPDFXRefEntry(1, QIntC::to_offset(last_offset), 0)); 324 + xref.push_back(QPDFXRefEntry(1, last_offset, 0));
327 } 325 }
328 326
329 void 327 void
330 QdfFixer::adjustOstreamXref() 328 QdfFixer::adjustOstreamXref()
331 { 329 {
332 - xref.pop_back();  
333 - xref.push_back(QPDFXRefEntry(2, ostream_id, QIntC::to_int(ostream_idx++))); 330 + xref.back() = QPDFXRefEntry(2, ostream_id, QIntC::to_int(ostream_idx++));
334 } 331 }
335 332
336 void 333 void
@@ -382,14 +379,10 @@ QdfFixer::writeBinary(unsigned long long val, size_t bytes) @@ -382,14 +379,10 @@ QdfFixer::writeBinary(unsigned long long val, size_t bytes)
382 throw std::logic_error( 379 throw std::logic_error(
383 "fix-qdf::writeBinary called with too many bytes"); 380 "fix-qdf::writeBinary called with too many bytes");
384 } 381 }
385 - std::string data;  
386 - data.reserve(bytes);  
387 - for (size_t i = 0; i < bytes; ++i) {  
388 - data.append(1, '\0');  
389 - }  
390 - for (size_t i = 0; i < bytes; ++i) {  
391 - data.at(bytes - i - 1) = static_cast<char>(QIntC::to_uchar(val & 0xff));  
392 - val >>= 8; 382 + std::string data(bytes, '\0');
  383 + for (auto i = bytes; i > 0; --i) {
  384 + data[i - 1] = static_cast<char>(val & 0xff); // i.e. val % 256
  385 + val >>= 8; // i.e. val = val / 256
393 } 386 }
394 std::cout << data; 387 std::cout << data;
395 } 388 }