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)
This commit is contained in:
Przemyslaw Czerpak
2010-02-04 21:23:19 +00:00
parent f48a61fa58
commit ad905d59c2
5 changed files with 27 additions and 23 deletions

View File

@@ -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

View File

@@ -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 )
{

View File

@@ -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 );
}

View File

@@ -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 );
}
/*

View File

@@ -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 );