2013-10-31 13:04 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* contrib/hbfship/hbfship.hbx
    ! removed FIELDDECI() reenabled by mistake during one of
      internal merges

  * src/rdd/dbfcdx/dbfcdx1.c
    * accept headers with KEY and FOR expression lengths without
      offset fields.

  * tests/video.prg
    ! fixed CLIP and xHarbour compilation
    + added support for testing UTF8 screen output
      (non empty 1-st parameter) and HB_GTI_COMPATBUFFER (non empty
      second parameter)
This commit is contained in:
Przemysław Czerpak
2013-10-31 13:04:59 +01:00
parent 04b66a11ba
commit 7e3de3f14c
4 changed files with 42 additions and 9 deletions

View File

@@ -3476,6 +3476,7 @@ static void hb_cdxTagLoad( LPCDXTAG pTag )
if( pTag->RootBlock == 0 || pTag->RootBlock % CDX_PAGELEN != 0 ||
( HB_FOFFSET ) pTag->RootBlock >= hb_fileSize( pTag->pIndex->pFile ) ||
HB_GET_LE_UINT16( tagHeader.keySize ) > CDX_MAXKEY ||
uiKeyLen + uiForLen > CDX_HEADEREXPLEN ||
uiForPos + uiForLen > CDX_HEADEREXPLEN ||
uiKeyPos + uiKeyLen > CDX_HEADEREXPLEN ||
( uiKeyPos < uiForPos ? ( uiKeyPos + uiKeyLen > uiForPos && tagHeader.keyExpPool[ uiForPos ] ) :
@@ -3486,6 +3487,8 @@ static void hb_cdxTagLoad( LPCDXTAG pTag )
}
/* some wrong RDDs do not set expression length this is workaround for them */
if( uiKeyPos == 0 && uiKeyLen != 0 && uiForPos == 0 && uiForLen != 0 )
uiForPos = uiKeyLen;
if( ! uiKeyLen )
uiKeyLen = ( uiForPos >= uiKeyPos ? uiForPos : CDX_HEADEREXPLEN ) - uiKeyPos;
if( ! uiForLen )