See ChangeLog entry 2003-09-10 15:00 UTC-0400 David G. Holm <dholm@jsd-llc.com>

This commit is contained in:
David G. Holm
2003-09-10 19:24:03 +00:00
parent 6eaba406be
commit f3a2f8216d
8 changed files with 80 additions and 118 deletions

View File

@@ -156,3 +156,59 @@ int hb_stricmp( const char * s1, const char * s2 )
return rc;
}
/* returns the numeric value of a character string representation of a number */
double hb_strVal( const char * szText, ULONG ulLen )
{
long double ldValue = 0.0;
ULONG ulPos;
ULONG ulDecPos = 0;
BOOL bNegative = FALSE;
long double ldScale = 0.1L;
HB_TRACE(HB_TR_DEBUG, ("hb_strVal(%s, %d)", szText, ulLen));
/* Look for sign */
for( ulPos = 0; ulPos < ulLen; ulPos++ )
{
if( szText[ ulPos ] == '-' )
{
bNegative = TRUE;
ulPos++;
break;
}
else if( szText[ ulPos ] == '+' )
{
ulPos++;
break;
}
else if( ! HB_ISSPACE( szText[ ulPos ] ) )
break;
}
/* Build the number */
for(; ulPos < ulLen; ulPos++ )
{
if( szText[ ulPos ] == '.' && ulDecPos == 0 )
{
ulDecPos++;
ldScale = 0.1L;
}
else if( szText[ ulPos ] >= '0' && szText[ ulPos ] <= '9' )
{
if( ulDecPos )
{
ldValue += ldScale * ( long double )( szText[ ulPos ] - '0' );
ldScale *= 0.1L;
}
else
ldValue = ( ldValue * 10.0L ) + ( long double )( szText[ ulPos ] - '0' );
}
else
break;
}
return ( double )( bNegative && ldValue != 0.0L ? -ldValue : ldValue );
}

View File

@@ -1593,59 +1593,6 @@ int yy_lex_input( char *buffer, int iBufferSize )
return hb_pp_Internal( hb_comp_bPPO ? hb_comp_yyppo : NULL, buffer );
}
static double hb_strVal( const char * szText, ULONG ulLen )
{
long double ldValue = 0.0;
ULONG ulPos;
ULONG ulDecPos = 0;
BOOL bNegative = FALSE;
long double ldScale = 0.1L;
/* Look for sign */
for( ulPos = 0; ulPos < ulLen; ulPos++ )
{
if( szText[ ulPos ] == '-' )
{
bNegative = TRUE;
ulPos++;
break;
}
else if( szText[ ulPos ] == '+' )
{
ulPos++;
break;
}
else if( ! HB_ISSPACE( szText[ ulPos ] ) )
break;
}
/* Build the number */
for(; ulPos < ulLen; ulPos++ )
{
if( szText[ ulPos ] == '.' && ulDecPos == 0 )
{
ulDecPos++;
ldScale = 0.1L;
}
else if( szText[ ulPos ] >= '0' && szText[ ulPos ] <= '9' )
{
if( ulDecPos )
{
ldValue += ldScale * ( long double )( szText[ ulPos ] - '0' );
ldScale *= 0.1L;
}
else
ldValue = ( ldValue * 10.0L ) + ( long double )( szText[ ulPos ] - '0' );
}
else
break;
}
return ( double )( bNegative && ldValue != 0.0L ? -ldValue : ldValue );
}
static int yy_ConvertNumber( char * szBuffer )
{
char * ptr;

View File

@@ -945,7 +945,7 @@ static void hb_xfptGetMemo( CDXAREAP pArea, USHORT uiIndex, PHB_ITEM pItem )
static void hb_xfptReadItemSx( FHANDLE hMemoFile, PHB_ITEM pItem )
{
BYTE itmBuffer[14];
char * pStr;
BYTE * pStr;
USHORT usType;
ULONG ulLen, i;
PHB_ITEM pArray, pNewItem;
@@ -974,7 +974,7 @@ static void hb_xfptReadItemSx( FHANDLE hMemoFile, PHB_ITEM pItem )
case 0x0400 : /* CLIP_IT_CHAR */
ulLen = *(short *)(&itmBuffer[2]); /* only 2 bytes for SIX compatibility */
pStr = (char *) hb_xgrab( ulLen + 1 );
hb_fsRead( hMemoFile, (unsigned char *) pStr, ulLen );
hb_fsRead( hMemoFile, pStr, ulLen );
hb_itemPutCPtr( pItem, pStr, ulLen );
break;
@@ -1088,7 +1088,7 @@ static ULONG hb_xfptWriteItemSx( FHANDLE hMemoFile, PHB_ITEM pItem )
ulSize += ulLen;
if ( ulLen > 0 )
{
hb_fsWrite( hMemoFile, (unsigned char *) (pItem->item.asString.value), ulLen );
hb_fsWrite( hMemoFile, (BYTE *) (pItem->item.asString.value), ulLen );
}
break;

View File

@@ -114,19 +114,19 @@ return .f.
#include <hbapi.h>
#include <hbvm.h>
static HB_FUNC( GETSYMBOLPOINTER )
HB_FUNC( GETSYMBOLPOINTER )
{
hb_retnl( ( long ) hb_dynsymGet( hb_parc( 1 ) ) );
}
static HB_FUNC( GETSYMBOLNAME )
HB_FUNC( GETSYMBOLNAME )
{
PHB_DYNS pDynSym = ( PHB_DYNS ) hb_parnl( 1 );
hb_retc( ( pDynSym != NULL ? pDynSym->pSymbol->szName : "" ) );
}
static HB_FUNC( SYMBOL_EXEC )
HB_FUNC( SYMBOL_EXEC )
{
PHB_ITEM pSelf = hb_param( 0, HB_IT_OBJECT ); /* we retrieve Self */
PHB_DYNS pSym;

View File

@@ -56,63 +56,6 @@
#include "hbapiitm.h"
#include "hbapierr.h"
/* returns the numeric value of a character string representation of a number */
double hb_strVal( const char * szText, ULONG ulLen )
{
long double ldValue = 0.0;
ULONG ulPos;
ULONG ulDecPos = 0;
BOOL bNegative = FALSE;
long double ldScale = 0.1L;
HB_TRACE(HB_TR_DEBUG, ("hb_strVal(%s, %d)", szText, ulLen));
/* Look for sign */
for( ulPos = 0; ulPos < ulLen; ulPos++ )
{
if( szText[ ulPos ] == '-' )
{
bNegative = TRUE;
ulPos++;
break;
}
else if( szText[ ulPos ] == '+' )
{
ulPos++;
break;
}
else if( ! HB_ISSPACE( szText[ ulPos ] ) )
break;
}
/* Build the number */
for(; ulPos < ulLen; ulPos++ )
{
if( szText[ ulPos ] == '.' && ulDecPos == 0 )
{
ulDecPos++;
ldScale = 0.1L;
}
else if( szText[ ulPos ] >= '0' && szText[ ulPos ] <= '9' )
{
if( ulDecPos )
{
ldValue += ldScale * ( long double )( szText[ ulPos ] - '0' );
ldScale *= 0.1L;
}
else
ldValue = ( ldValue * 10.0L ) + ( long double )( szText[ ulPos ] - '0' );
}
else
break;
}
return ( double )( bNegative && ldValue != 0.0L ? -ldValue : ldValue );
}
/* returns the numeric value of a character string representation of a number */
HB_FUNC( VAL )
{