• Fix two errors introduced in #1110 and #1112. Since
    #1110, encountering the invalid indirect reference #1110
    -2147483648 n R produces an integer underflow which, if
     undetected, immediately trigger a logic error. Since
     #1112, object -1 0 R may be incorrectly identified as
     an earlier generation of itself and deleted,
     invalidating a live iterator.
    m-holger authored
     
    Browse Dir »








  • Jay Berkenbilt authored
     
    Browse Dir »
  • Where not possible, use "auto" to get the iterator type.
    
    Editorial note: I have avoid this change for a long time because of
    not wanting to make gratuitous changes to version history, which can
    obscure when certain changes were made, but with having recently
    touched every single file to apply automatic code formatting and with
    making several broad changes to the API, I decided it was time to take
    the plunge and get rid of the older (pre-C++11) verbose iterator
    syntax. The new code is just easier to read and understand, and in
    many cases, it will be more effecient as fewer temporary copies are
    being made.
    
    m-holger, if you're reading, you can see that I've finally come
    around. :-)
    Jay Berkenbilt authored
     
    Browse Dir »


  • Increase to POINTERHOLDER_TRANSITION=3
    
    patrepl s/PointerHolder/std::shared_ptr/g **/*.cc **/*.hh
    patrepl s/make_pointer_holder/std::make_shared/g **/*.cc
    patrepl s/make_array_pointer_holder/QUtil::make_shared_array/g **/*.cc
    patrepl s,qpdf/std::shared_ptr,qpdf/PointerHolder, **/*.cc **/*.hh
    git restore include/qpdf/PointerHolder.hh
    git restore libtests/pointer_holder.cc
    cleanpatch
    ./format-code
    Jay Berkenbilt authored
     
    Browse Dir »