bool dwgReader21::readDwgHeader(DRW_Header& hdr){
    DRW_DBG("\ndwgReader21::readDwgHeader\n");
    dwgSectionInfo si = sections[secEnum::HEADER];
    if (si.Id < 0) { //not found, ends
        return false;
    }

    DRW_DBG("\nprepare section of size "); DRW_DBG(si.size);DRW_DBG("\n");
    std::vector<duint8> tmpHeaderData( si.size);

    if (!dwgReader21::parseDataPage( si, &tmpHeaderData.front())) {
        return false;
    }

    dwgBuffer dataBuf(&tmpHeaderData.front(), si.size, &decoder);
    dwgBuffer handleBuf(&tmpHeaderData.front(), si.size, &decoder);
    DRW_DBG("Header section sentinel= ");
    checkSentinel(&dataBuf, secEnum::HEADER, true);

    return dwgReader::readDwgHeader(hdr, &dataBuf, &handleBuf);
}
bool dwgReader21::readDwgHeader(DRW_Header& hdr){
    DRW_DBG("\ndwgReader21::readDwgHeader\n");
    dwgSectionInfo si = sections[secEnum::HEADER];
    if (si.Id < 0) {  
        return false;
    }

    DRW_DBG("\nprepare section of size "); DRW_DBG(si.size);DRW_DBG("\n");
    std::vector<duint8> tmpHeaderData( si.size);

    if (!dwgReader21::parseDataPage( si, &tmpHeaderData.front())) {
        return false;
    }

    dwgBuffer dataBuf(&tmpHeaderData.front(), si.size, &decoder);
    dwgBuffer handleBuf(&tmpHeaderData.front(), si.size, &decoder);
    DRW_DBG("Header section sentinel= ");
    checkSentinel(&dataBuf, secEnum::HEADER, true);

    return dwgReader::readDwgHeader(hdr, &dataBuf, &handleBuf);
}