From 2b4f426339b1c0761dd2b3b98b5a919e4b3573d7 Mon Sep 17 00:00:00 2001 From: "Alexander S.Kresin" Date: Sun, 5 Aug 2001 19:00:38 +0000 Subject: [PATCH] 2001-08-05 22:58 GMT+3 Alexander Kresin --- harbour/ChangeLog | 4 ++++ harbour/source/vm/memvars.c | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index e132d20e28..3784e4d51a 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,7 @@ +2001-08-05 22:58 GMT+3 Alexander Kresin + * source/vm/memvars.c + + Two functions added: hb_memvarGetVarHandle() and hb_memvarGetValueByHandle() + 2001-08-05 14:20 UTC+0100 Ryszard Glab *include/hbcomp.h diff --git a/harbour/source/vm/memvars.c b/harbour/source/vm/memvars.c index 796e3a4eb9..4e60d1b77e 100644 --- a/harbour/source/vm/memvars.c +++ b/harbour/source/vm/memvars.c @@ -1577,3 +1577,21 @@ void hb_memvarsIsMemvarRef( void ) } } } + +HB_HANDLE hb_memvarGetVarHandle( char *szName ) +{ + PHB_DYNS pDyn; + + if( ( pDyn = hb_dynsymFind( szName ) ) != NULL ) + return pDyn->hMemvar; + else + return 0; /* invalid handle */ +} + +PHB_ITEM hb_memvarGetValueByHandle( HB_HANDLE hMemvar ) +{ + if( hMemvar && hMemvar < s_globalTableSize ) + return &s_globalTable[ hMemvar ].item; + else + return NULL; +} \ No newline at end of file