diff --git a/harbour/ChangeLog b/harbour/ChangeLog index abaa24f48a..d43377772a 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,15 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-02-04 22:23 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/vm/task.c + * harbour/src/vm/classes.c + * harbour/src/rtl/strpeek.c + * updated to use ANSI types + + * harbour/src/rtl/hbmd5.c + % small optimization (more compiler friendly code due to fixed alignment) + 2010-02-04 21:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * src/rtl/console.c * src/rtl/shadow.c diff --git a/harbour/src/rtl/hbmd5.c b/harbour/src/rtl/hbmd5.c index 728894d6f7..5dc46dbb8b 100644 --- a/harbour/src/rtl/hbmd5.c +++ b/harbour/src/rtl/hbmd5.c @@ -148,13 +148,6 @@ static const UINT32 T[ 64 ] = { 0xF7537E82, 0xBD3AF235, 0x2AD7D2BB, 0xEB86D391 }; -static const BYTE pad[ 64 ] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - static void hb_md5go( MD5_BUF * md5 ) { UINT32 X[ 16 ], A[ 4 ]; @@ -279,10 +272,11 @@ void hb_md5( const void * data, HB_SIZE ulLen, char * digest ) hb_md5go( &md5 ); } /* prepare additional block(s) */ + memset( buf, 0, sizeof( buf ) ); n = ulLen & 63; if( n ) memcpy( buf, ucdata, n ); - memcpy( buf + n, pad, 64 ); + buf[ n ] = 0x80; /* count bits length */ i = 56; if( n >= 56 ) @@ -335,9 +329,10 @@ void hb_md5file( HB_FHANDLE hFile, char * digest ) i += 64; n -= 64; } + memset( buf, 0, sizeof( buf ) ); if( n ) memcpy( buf, readbuf + i, n ); - memcpy( buf + n, pad, 64 ); + buf[ n ] = 0x80; i = 56; if( n >= 56 ) { diff --git a/harbour/src/rtl/strpeek.c b/harbour/src/rtl/strpeek.c index b49e9a4ae2..85920f1a0a 100644 --- a/harbour/src/rtl/strpeek.c +++ b/harbour/src/rtl/strpeek.c @@ -65,7 +65,7 @@ HB_FUNC( STRPEEK ) HB_SIZE ulPos = hb_parnl( 2 ); if( ulPos > 0 && ulPos <= hb_itemGetCLen( pText ) ) - hb_retni( ( BYTE ) * ( hb_itemGetCPtr( pText ) + ulPos - 1 ) ); + hb_retni( ( unsigned char ) hb_itemGetCPtr( pText )[ ulPos - 1 ] ); else hb_retni( 0 ); } diff --git a/harbour/src/vm/classes.c b/harbour/src/vm/classes.c index 18b3c4ce2c..c9189cc36c 100644 --- a/harbour/src/vm/classes.c +++ b/harbour/src/vm/classes.c @@ -2153,11 +2153,11 @@ static void hb_objSupperDestructorCall( PHB_ITEM pObject, PCLASS pClass ) HB_STACK_TLS_PRELOAD PMETHOD pMethod = pClass->pMethods; ULONG ulLimit = hb_clsMthNum( pClass ); - BYTE * pbClasses; + char * pcClasses; USHORT uiClass; - pbClasses = ( BYTE * ) hb_xgrab( s_uiClasses + 1 ); - memset( pbClasses, 0, s_uiClasses + 1 ); + pcClasses = ( char * ) hb_xgrab( s_uiClasses + 1 ); + memset( pcClasses, 0, s_uiClasses + 1 ); do { @@ -2167,10 +2167,10 @@ static void hb_objSupperDestructorCall( PHB_ITEM pObject, PCLASS pClass ) { PCLASS pSupperClass = s_pClasses[ pMethod->uiSprClass ]; if( pSupperClass->fHasDestructor && pSupperClass != pClass ) - pbClasses[ pMethod->uiSprClass ] |= 1; + pcClasses[ pMethod->uiSprClass ] |= 1; } else if( pMethod->pMessage == s___msgDestructor.pDynSym ) - pbClasses[ pMethod->uiSprClass ] |= 2; + pcClasses[ pMethod->uiSprClass ] |= 2; } ++pMethod; } @@ -2178,26 +2178,26 @@ static void hb_objSupperDestructorCall( PHB_ITEM pObject, PCLASS pClass ) for( uiClass = s_uiClasses; uiClass; --uiClass ) { - if( pbClasses[ uiClass ] == 1 ) + if( pcClasses[ uiClass ] == 1 ) { PMETHOD pDestructor = hb_clsFindMsg( s_pClasses[ uiClass ], s___msgDestructor.pDynSym ); if( pDestructor ) { - if( pbClasses[ pDestructor->uiSprClass ] == 1 ) + if( pcClasses[ pDestructor->uiSprClass ] == 1 ) { hb_vmPushSymbol( &s___msgDestructor ); hb_clsMakeSuperObject( hb_stackAllocItem(), pObject, uiClass ); hb_vmSend( 0 ); if( hb_vmRequestQuery() != 0 ) break; - pbClasses[ pDestructor->uiSprClass ] |= 2; + pcClasses[ pDestructor->uiSprClass ] |= 2; } } } } - hb_xfree( pbClasses ); + hb_xfree( pcClasses ); } /* diff --git a/harbour/src/vm/task.c b/harbour/src/vm/task.c index 32c6db9925..e9683acbe6 100644 --- a/harbour/src/vm/task.c +++ b/harbour/src/vm/task.c @@ -146,8 +146,8 @@ typedef struct _HB_TASKINFO HB_LONG wakeup; - BYTE * stack; - LONG stack_size; + char * stack; + long stack_size; #if defined( HB_HAS_UCONTEXT ) ucontext_t context; @@ -501,7 +501,7 @@ static void hb_taskRun( void ) /* unreachable code */ } -static PHB_TASKINFO hb_taskNew( LONG stack_size ) +static PHB_TASKINFO hb_taskNew( long stack_size ) { PHB_TASKINFO pTask; @@ -510,7 +510,7 @@ static PHB_TASKINFO hb_taskNew( LONG stack_size ) pTask = ( PHB_TASKINFO ) memset( hb_xgrab( sizeof( HB_TASKINFO ) ), 0, sizeof( HB_TASKINFO ) ); - pTask->stack = ( BYTE * ) hb_xgrab( stack_size ); + pTask->stack = hb_xgrab( stack_size ); stack_size += ( HB_PTRDIFF ) pTask->stack; stack_size &= ~( HB_TASK_STACK_ALIGN - 1 );