2008-08-09 17:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/source/vm/runner.c
    ! fixed HB_HRBGETFUNSYM() to respect only function symbols
This commit is contained in:
Przemyslaw Czerpak
2008-08-09 15:55:31 +00:00
parent cc57d998b6
commit 95a9271e8d
2 changed files with 13 additions and 10 deletions

View File

@@ -8,6 +8,10 @@
2008-12-31 13:59 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
2008-08-09 17:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/runner.c
! fixed HB_HRBGETFUNSYM() to respect only function symbols
2008-08-09 17:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* doc/whatsnew.txt
* include/hbextern.ch

View File

@@ -739,22 +739,21 @@ HB_FUNC( HB_HRBUNLOAD )
HB_FUNC( HB_HRBGETFUNSYM )
{
PHRB_BODY pHrbBody = hb_hrbParam( 1 );
char * szName = hb_parc( 2 );
if( pHrbBody && hb_parclen( 2 ) > 0 )
if( pHrbBody && szName )
{
char * szName = hb_strupr( hb_strdup( hb_parc( 2 ) ) );
ULONG ulPos = 0;
PHB_SYMB pSym;
ULONG ulPos;
while( ulPos < pHrbBody->ulSymbols )
for( ulPos = 0, pSym = pHrbBody->pSymRead; ulPos < pHrbBody->ulSymbols; ++pSym, ++ulPos )
{
if( !strcmp( szName, pHrbBody->pSymRead[ ulPos ].szName ) )
if( pSym->value.pFunPtr != NULL && hb_stricmp( szName, pSym->szName ) == 0 )
{
hb_itemPutSymbol( hb_stackReturnItem(), pSym );
break;
ulPos++;
}
}
hb_xfree( szName );
if( ulPos < pHrbBody->ulSymbols )
hb_itemPutSymbol( hb_stackReturnItem(), pHrbBody->pSymRead + ulPos );
}
else
hb_errRT_BASE( EG_ARG, 6106, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );