2015-04-01 14:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgentry.c
! fixed typo in my previous commit for AltD() function detection
Thanks to Franček Prijatelj for reporting the problem and Abe
for self contain example
* src/rdd/dbfcdx/dbfcdx1.c
* reverted byte order in Harbour CDX signature - by mistake I used
little endian. When existsing index is open then reverted signatures
are accepted for backward compatiblity though they will be removed
in the future.
* src/rdd/workarea.c
* move results of EVALBLOCK() RDD method from Harbour stack return item
to workarea valResult item instead of copping it.
; Warning: This modification may exploit problems in code which
wrongly looks for result of EVALBLOCK() RDD method in
HVM stack return item instead of workarea valResult item.
This commit is contained in:
@@ -10,6 +10,25 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2015-04-01 14:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/debug/dbgentry.c
|
||||
! fixed typo in my previous commit for AltD() function detection
|
||||
Thanks to Franček Prijatelj for reporting the problem and Abe
|
||||
for self contain example
|
||||
|
||||
* src/rdd/dbfcdx/dbfcdx1.c
|
||||
* reverted byte order in Harbour CDX signature - by mistake I used
|
||||
little endian. When existsing index is open then reverted signatures
|
||||
are accepted for backward compatiblity though they will be removed
|
||||
in the future.
|
||||
|
||||
* src/rdd/workarea.c
|
||||
* move results of EVALBLOCK() RDD method from Harbour stack return item
|
||||
to workarea valResult item instead of copping it.
|
||||
; Warning: This modification may exploit problems in code which
|
||||
wrongly looks for result of EVALBLOCK() RDD method in
|
||||
HVM stack return item instead of workarea valResult item.
|
||||
|
||||
2015-03-27 16:21 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* src/debug/dbgentry.c
|
||||
% small optimizations
|
||||
|
||||
@@ -1555,7 +1555,7 @@ static HB_BOOL hb_dbgIsAltD( void )
|
||||
HB_ISIZ nOffset = hb_stackBaseProcOffset( 1 );
|
||||
|
||||
return nOffset > 0 &&
|
||||
strcmp( hb_itemGetSymbol( hb_stackItem( nOffset ) )->szName, "ALTD" );
|
||||
! strcmp( hb_itemGetSymbol( hb_stackItem( nOffset ) )->szName, "ALTD" );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3459,7 +3459,7 @@ static void hb_cdxTagHeaderStore( LPCDXTAG pTag )
|
||||
tagHeader.indexOpt = pTag->OptFlags;
|
||||
if( pTag->TagBlock == 0 )
|
||||
{
|
||||
HB_PUT_LE_UINT32( tagHeader.signature, CDX_HARBOUR_SIGNATURE );
|
||||
HB_PUT_BE_UINT32( tagHeader.signature, CDX_HARBOUR_SIGNATURE );
|
||||
tagHeader.indexSig = pTag->pIndex->fLargeFile ? 0x21 : 0x01;
|
||||
}
|
||||
else
|
||||
@@ -3551,8 +3551,10 @@ static void hb_cdxTagLoad( LPCDXTAG pTag )
|
||||
{
|
||||
HB_BOOL fLargeFile = HB_FALSE;
|
||||
HB_USHORT uiPageLen = CDX_PAGELEN, uiHeaderLen = CDX_HEADERLEN;
|
||||
HB_U32 u32Sig = HB_GET_BE_UINT32( tagHeader.signature );
|
||||
|
||||
if( HB_GET_LE_UINT32( tagHeader.signature ) == CDX_HARBOUR_SIGNATURE )
|
||||
if( u32Sig == CDX_HARBOUR_SIGNATURE ||
|
||||
u32Sig == HB_SWAP_UINT32( CDX_HARBOUR_SIGNATURE ) )
|
||||
{
|
||||
fLargeFile = tagHeader.indexSig == 0x21;
|
||||
uiHeaderLen = HB_GET_LE_UINT16( tagHeader.headerLen );
|
||||
|
||||
@@ -1830,7 +1830,7 @@ static HB_ERRCODE hb_waEvalBlock( AREAP pArea, PHB_ITEM pBlock )
|
||||
|
||||
if( ! pArea->valResult )
|
||||
pArea->valResult = hb_itemNew( NULL );
|
||||
hb_itemCopy( pArea->valResult, pItem );
|
||||
hb_itemMove( pArea->valResult, pItem );
|
||||
|
||||
hb_rddSelectWorkAreaNumber( iCurrArea );
|
||||
|
||||
|
||||
Reference in New Issue
Block a user