From 1e1f6a62aee2e63cb3c3ff00120bc7e675eb0ec5 Mon Sep 17 00:00:00 2001 From: Przemyslaw Czerpak Date: Wed, 11 Aug 2010 10:28:39 +0000 Subject: [PATCH] 2010-08-11 12:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/src/rtl/empty.c * modified EMPTY() function behavior so now for symbols created for functions declared as DYNAMIC it does not return .T. but .F. for functions which are registered in HVM. As side effect above modifications should fix some code in RTL and contrib which used !EMPTY() for DYNAMIC function symbols. --- harbour/ChangeLog | 10 ++++++++++ harbour/src/rtl/empty.c | 3 +++ 2 files changed, 13 insertions(+) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index e2261564f6..7b28fead36 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,16 @@ The license applies to all entries newer than 2009-04-28. */ +2010-08-11 12:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/rtl/empty.c + * modified EMPTY() function behavior so now for symbols + created for functions declared as DYNAMIC it does not + return .T. but .F. for functions which are registered + in HVM. + As side effect above modifications should fix some code + in RTL and contrib which used !EMPTY() for DYNAMIC function + symbols. + 2010-08-10 22:26 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/tests/demoqt.prg ! Fixed: X click or "Exit" option was not working. diff --git a/harbour/src/rtl/empty.c b/harbour/src/rtl/empty.c index 5871412782..7f170d29c7 100644 --- a/harbour/src/rtl/empty.c +++ b/harbour/src/rtl/empty.c @@ -109,6 +109,9 @@ HB_FUNC( EMPTY ) case HB_IT_SYMBOL: pSym = hb_itemGetSymbol( pItem ); + if( pSym && ( pSym->scope.value & HB_FS_DEFERRED ) && \ + pSym->pDynSym ) + pSym = hb_dynsymSymbol( pSym->pDynSym ); hb_retl( pSym == NULL || pSym->value.pFunPtr == NULL ); break;