classes/CZIPIO.cpp
void CZIPIO::putZip64ExtendedInfoExtraField(Zip64ExtendedInfoExtraField &extendedInfo, std::vector<std::uint8_t> &info)
    {
        std::uint16_t fieldSize = 0;
        info.clear();
        if (fieldRequires64bits(extendedInfo.originalSize))
        {
            fieldSize += sizeof(std::uint64_t); // Store sizes as a pair.
            fieldSize += sizeof(std::uint64_t);
        }
        if (fieldRequires64bits(extendedInfo.fileHeaderOffset))
        {
            fieldSize += sizeof(std::uint64_t);
        }
        if (fieldRequires32bits(extendedInfo.diskNo))
        {
            fieldSize += sizeof(std::uint32_t);
        }
        putField(extendedInfo.signature, info);
        putField(fieldSize, info);
        if (fieldRequires64bits(extendedInfo.originalSize))
        {
            putField(extendedInfo.originalSize, info);
            putField(extendedInfo.compressedSize, info);
        }
        if (fieldRequires64bits(extendedInfo.fileHeaderOffset))
        {
            putField(extendedInfo.fileHeaderOffset, info);
        }
        if (fieldRequires32bits(extendedInfo.diskNo))
        {
            putField(extendedInfo.diskNo, info);
        }
    }
//
// Put any ZIP64 extended information record into byte array. Only perform if the
// value is too large for its default storage. Sizes are stored as pair because
// of the requirement for Local file headers.
//

Put any ZIP64 extended information record into byte array. Only perform if the
value is too large for its default storage. Sizes are stored as pair because
of the requirement for Local file headers.
Put any ZIP64 extended information record into byte array . Only perform if the value is too large for its default storage . Sizes are stored as pair because of the requirement for Local file headers .
void CZIPIO::putZip64ExtendedInfoExtraField(Zip64ExtendedInfoExtraField &extendedInfo, std::vector<std::uint8_t> &info)
    {
        std::uint16_t fieldSize = 0;
        info.clear();
        if (fieldRequires64bits(extendedInfo.originalSize))
        {
            fieldSize += sizeof(std::uint64_t); 
            fieldSize += sizeof(std::uint64_t);
        }
        if (fieldRequires64bits(extendedInfo.fileHeaderOffset))
        {
            fieldSize += sizeof(std::uint64_t);
        }
        if (fieldRequires32bits(extendedInfo.diskNo))
        {
            fieldSize += sizeof(std::uint32_t);
        }
        putField(extendedInfo.signature, info);
        putField(fieldSize, info);
        if (fieldRequires64bits(extendedInfo.originalSize))
        {
            putField(extendedInfo.originalSize, info);
            putField(extendedInfo.compressedSize, info);
        }
        if (fieldRequires64bits(extendedInfo.fileHeaderOffset))
        {
            putField(extendedInfo.fileHeaderOffset, info);
        }
        if (fieldRequires32bits(extendedInfo.diskNo))
        {
            putField(extendedInfo.diskNo, info);
        }
    }
void CZIPIO :: putZip64ExtendedInfoExtraField ( Zip64ExtendedInfoExtraField & extendedInfo , std :: vector < std :: uint8_t > & info ) { std :: uint16_t fieldSize = 0 ; info . clear ( ) ; if ( fieldRequires64bits ( extendedInfo . originalSize ) ) { fieldSize += sizeof ( std :: uint64_t ) ; fieldSize += sizeof ( std :: uint64_t ) ; } if ( fieldRequires64bits ( extendedInfo . fileHeaderOffset ) ) { fieldSize += sizeof ( std :: uint64_t ) ; } if ( fieldRequires32bits ( extendedInfo . diskNo ) ) { fieldSize += sizeof ( std :: uint32_t ) ; } putField ( extendedInfo . signature , info ) ; putField ( fieldSize , info ) ; if ( fieldRequires64bits ( extendedInfo . originalSize ) ) { putField ( extendedInfo . originalSize , info ) ; putField ( extendedInfo . compressedSize , info ) ; } if ( fieldRequires64bits ( extendedInfo . fileHeaderOffset ) ) { putField ( extendedInfo . fileHeaderOffset , info ) ; } if ( fieldRequires32bits ( extendedInfo . diskNo ) ) { putField ( extendedInfo . diskNo , info ) ; } }
Put any ZIP64 extended information record into byte array.
Put any ZIP64 extended information record into byte array .
// Store sizes as a pair.
