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:
@@ -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 )
|
||||
|
||||
Reference in New Issue
Block a user