From 0b3418ae4023821aed6503458eca49f1a3f3565e Mon Sep 17 00:00:00 2001 From: Ryszard Glab Date: Fri, 10 Sep 1999 14:05:34 +0000 Subject: [PATCH] ChangeLog 19990910-16:00 GMT+2 --- harbour/ChangeLog | 8 ++++++++ harbour/include/rddapi.h | 1 + harbour/source/vm/hvm.c | 14 +++----------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 3e12451a9f..b073ab1bd4 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,11 @@ +19990910-16:00 GMT+2 Ryszard Glab + + *source/vm/hvm.c + * string alias is now correctly handled + + *include/rddapi.h + + added declaration for hb_rddSelectAorkAreaAlias + 19990910-11:10 GMT+1 Victor Szel * tests/working/rtl_test.prg + Enabled some alias tests which fail. (Ryszard, could you take a look diff --git a/harbour/include/rddapi.h b/harbour/include/rddapi.h index 504f4fc231..ebc73faebc 100644 --- a/harbour/include/rddapi.h +++ b/harbour/include/rddapi.h @@ -12,6 +12,7 @@ typedef USHORT ERRCODE; /* RDD virtual machine integration functions */ extern int hb_rddGetCurrentWorkAreaNumber( void ); +extern void hb_rddSelectWorkAreaAlias( char * szAlias ); extern void hb_rddSelectWorkAreaNumber( int iArea ); extern void hb_rddSelectWorkAreaSymbol( PHB_SYMB pSymAlias ); extern void hb_rddGetFieldValue( HB_ITEM_PTR pItem, PHB_SYMB pFieldSymbol ); diff --git a/harbour/source/vm/hvm.c b/harbour/source/vm/hvm.c index 60a59f33c7..813e4b3ff5 100644 --- a/harbour/source/vm/hvm.c +++ b/harbour/source/vm/hvm.c @@ -1985,9 +1985,7 @@ static void hb_vmPopAlias( void ) case IT_STRING: /* Alias was evaluated from an expression, for example: (cVar)->field */ - /* TODO: synchronize it with RDD API - hb_SelectWorkAreaAlias( pItem->item.asString.value ); - */ + hb_rddSelectWorkAreaAlias( pItem->item.asString.value ); hb_itemClear( pItem ); break; @@ -2026,9 +2024,7 @@ static void hb_vmPopAliasedField( PHB_SYMB pSym ) case IT_STRING: /* Alias was evaluated from an expression, for example: (cVar)->field */ - /* TODO: synchronize it with RDD API - hb_SelectWorkAreaAlias( pAlias->item.asString.value ); - */ + hb_rddSelectWorkAreaAlias( pAlias->item.asString.value ); hb_itemClear( pAlias ); break; @@ -2260,9 +2256,7 @@ static void hb_vmPushAliasedField( PHB_SYMB pSym ) case IT_STRING: /* Alias was evaluated from an expression, for example: (cVar)->field */ - /* TODO: synchronize it with RDD API - hb_SelectWorkAreaAlias( pAlias->item.asString.value ); - */ + hb_rddSelectWorkAreaAlias( pAlias->item.asString.value ); hb_itemClear( pAlias ); break; @@ -2706,9 +2700,7 @@ static void hb_vmSwapAlias( void ) case IT_STRING: /* Alias was evaluated from an expression, for example: (cVar)->field */ - /* TODO: synchronize it with RDD API hb_rddSelectWorkAreaAlias( pWorkArea->item.asString.value ); - */ hb_itemClear( pWorkArea ); break;