19991111-12:02 GMT+1 Victor Szel <info@szelvesz.hu>
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
19991111-12:02 GMT+1 Victor Szel <info@szelvesz.hu>
|
||||
* source/vm/dymsym.c
|
||||
% hb_dynsymGet(), hb_dynsymFindName() - Further optimized, toupper() calls
|
||||
changed to local uppercase conversion code. One variable eliminated.
|
||||
|
||||
19991111-11:19 GMT+1 Antonio Linares <alinares@fivetech.com>
|
||||
* source/vm/hvm.c
|
||||
hb_stack.pItems initialized to NULL (required by fm.c module)
|
||||
|
||||
@@ -33,8 +33,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
#include "extend.h"
|
||||
|
||||
#define SYM_ALLOCATED ( ( HB_SYMBOLSCOPE ) -1 )
|
||||
@@ -138,16 +136,20 @@ PHB_DYNS hb_dynsymGet( char * szName ) /* finds and creates a symbol if not fou
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_dynsymGet(%s)", szName));
|
||||
|
||||
/* make a copy as we may get a const string, then turn it to uppercase */
|
||||
/* NOTE: This block is optimized for speed [vszel] */
|
||||
{
|
||||
ULONG ulLen = strlen( szName );
|
||||
int iLen = strlen( szName );
|
||||
char * pDest = szUprName;
|
||||
|
||||
if( ulLen > HB_SYMBOL_NAME_LEN )
|
||||
ulLen = HB_SYMBOL_NAME_LEN;
|
||||
|
||||
pDest[ ulLen ] = '\0';
|
||||
while( ulLen-- )
|
||||
*pDest++ = toupper( *szName++ );
|
||||
if( iLen > HB_SYMBOL_NAME_LEN )
|
||||
iLen = HB_SYMBOL_NAME_LEN;
|
||||
|
||||
pDest[ iLen ] = '\0';
|
||||
while( iLen-- )
|
||||
{
|
||||
char cChar = *szName++;
|
||||
*pDest++ = ( cChar >= 'a' && cChar <= 'z' ) ? cChar - ( 'a' - 'A' ) : cChar;
|
||||
}
|
||||
}
|
||||
|
||||
pDynSym = hb_dynsymFind( szUprName );
|
||||
@@ -159,27 +161,28 @@ PHB_DYNS hb_dynsymGet( char * szName ) /* finds and creates a symbol if not fou
|
||||
|
||||
PHB_DYNS hb_dynsymFindName( char * szName ) /* finds a symbol */
|
||||
{
|
||||
PHB_DYNS pDynSym;
|
||||
char szUprName[ HB_SYMBOL_NAME_LEN + 1 ];
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_dynsymFindName(%s)", szName));
|
||||
|
||||
/* make a copy as we may get a const string, then turn it to uppercase */
|
||||
/* NOTE: This block is optimized for speed [vszel] */
|
||||
{
|
||||
ULONG ulLen = strlen( szName );
|
||||
int iLen = strlen( szName );
|
||||
char * pDest = szUprName;
|
||||
|
||||
if( ulLen > HB_SYMBOL_NAME_LEN )
|
||||
ulLen = HB_SYMBOL_NAME_LEN;
|
||||
|
||||
pDest[ ulLen ] = '\0';
|
||||
while( ulLen-- )
|
||||
*pDest++ = toupper( *szName++ );
|
||||
if( iLen > HB_SYMBOL_NAME_LEN )
|
||||
iLen = HB_SYMBOL_NAME_LEN;
|
||||
|
||||
pDest[ iLen ] = '\0';
|
||||
while( iLen-- )
|
||||
{
|
||||
char cChar = *szName++;
|
||||
*pDest++ = ( cChar >= 'a' && cChar <= 'z' ) ? cChar - ( 'a' - 'A' ) : cChar;
|
||||
}
|
||||
}
|
||||
|
||||
pDynSym = hb_dynsymFind( szUprName );
|
||||
|
||||
return pDynSym;
|
||||
return hb_dynsymFind( szUprName );
|
||||
}
|
||||
|
||||
PHB_DYNS hb_dynsymFind( char * szName )
|
||||
|
||||
Reference in New Issue
Block a user