diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 0492b77467..267d035873 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,12 @@ 2002-12-01 23:12 UTC+0100 Foo Bar */ +2003-05-06 15:35 UTC+0300 Alexander Kresin + * source/rtl/is.c + ! Bug fixed: ISUPPER, ISLOWER and ISALPHA with chr(0) argument + returned TRUE. + Patch provided by Przemyslaw Czerpak + 2003-05-06 12:55 UTC+0200 Przemyslaw Czerpak * source/rtl/set.c ! Fixed very serious bug in set(_SET_ALTFILE, "") and diff --git a/harbour/source/rtl/is.c b/harbour/source/rtl/is.c index a2332782c3..33e684cc05 100644 --- a/harbour/source/rtl/is.c +++ b/harbour/source/rtl/is.c @@ -67,7 +67,7 @@ HB_FUNC( ISALPHA ) { if( isalpha( ( unsigned char ) * szString ) ) hb_retl( TRUE ); - else if( s_cdpage->nChars && + else if( s_cdpage->nChars && szString[0] && ( strchr( s_cdpage->CharsUpper,* szString ) || strchr( s_cdpage->CharsLower,* szString ) ) ) hb_retl( TRUE ); else @@ -99,7 +99,7 @@ HB_FUNC( ISUPPER ) { if( isupper( ( unsigned char ) * szString ) ) hb_retl( TRUE ); - else if( s_cdpage->nChars && strchr( s_cdpage->CharsUpper,* szString ) ) + else if( s_cdpage->nChars && szString[0] && strchr( s_cdpage->CharsUpper,* szString ) ) hb_retl( TRUE ); else hb_retl( FALSE ); @@ -118,7 +118,7 @@ HB_FUNC( ISLOWER ) { if( islower( ( unsigned char ) * szString ) ) hb_retl( TRUE ); - else if( s_cdpage->nChars && strchr( s_cdpage->CharsLower,* szString ) ) + else if( s_cdpage->nChars && szString[0] && strchr( s_cdpage->CharsLower,* szString ) ) hb_retl( TRUE ); else hb_retl( FALSE );