• QPDF::read_xrefTable ignores type 0 entries for objects in a section if an
    associates XRefStm has an entry for the same object.
    
    The spec states:
    
    When the conforming reader searches for an object, if an entry is not
    found in any given standard cross-reference section, the search shall
    proceed to a cross-reference stream specified by the XRefStm entry
    before looking in the previous cross-reference section,
    
    If a deleted entry is found in a section, the XRefStm is not searched
    according to the standard.
    m-holger authored
     
    Browse File »

  • Create unresolved objects only for objects in the xref table (except during
    parsing of the xref table). Do not add indirect nulls into the the object
    cache as the result of a cache miss during a call to getObject except
    during parsing or creation/updating from JSON. To support this behaviour,
    add new private methods getObjectForParser and getObjectForJSON.
    
    As a result of this change, dangling references are treated as direct nulls
    rather than indirect nulls.
    m-holger authored
     
    Browse File »
  • Prepare for treating indirect references differently depending on whether
    we are parsing a PDF file (in which case reference to objects not in the
    xref table are null even if they are in the object cache) or whether parse
    from user code (in which case an indirect reference can refer to a user
    created object).
    m-holger authored
     
    Browse File »



















  • Move reading of the entry from read_xrefTable to parse_xrefEntry.
    
    Split parse_xrefEntry into two new methods read_xrefEntry and
    read_bad_xrefEntry. read_xrefEntry is optimised for reading
    correct entries. To handle incorrect entries it calls read_bad_xrefEntry,
    which is largely unchanged from parse_xrefEntry.
    m-holger authored
     
    Browse File »