From 9dfd75fab437b833b3af06f63db38bb22bf66c93 Mon Sep 17 00:00:00 2001 From: Ryszard Glab Date: Thu, 9 Sep 1999 10:53:13 +0000 Subject: [PATCH] ChangeLog 19990909-12:45 --- harbour/ChangeLog | 11 +++++ harbour/source/rtl/Makefile | 1 + harbour/source/rtl/memvarbl.prg | 80 +++++++++++++++++++++++++++++++++ harbour/source/rtl/memvars.c | 2 - 4 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 harbour/source/rtl/memvarbl.prg diff --git a/harbour/ChangeLog b/harbour/ChangeLog index d6ffab2a5f..7963335dcd 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,14 @@ +19990909-12:45 GMT+2 Ryszard Glab + + *source/rtl/memvars.c + * removed unused variables + + *source/rtl/memvarbl.prg + + added new file with MEMVARBLOCK() function + + *source/trl/Makefile + + added memvarbl.prg to PRG_SOURCES + 19990909-12:00 GMT+2 Ryszard Glab *source/rtl/memvars.c diff --git a/harbour/source/rtl/Makefile b/harbour/source/rtl/Makefile index 5a7470bc3c..2adef8c115 100644 --- a/harbour/source/rtl/Makefile +++ b/harbour/source/rtl/Makefile @@ -46,6 +46,7 @@ PRG_SOURCES=\ browdb.prg \ devoutp.prg \ errorsys.prg \ + memvarbl.prg \ menuto.prg \ objfunc.prg \ readvar.prg \ diff --git a/harbour/source/rtl/memvarbl.prg b/harbour/source/rtl/memvarbl.prg new file mode 100644 index 0000000000..3f1c9fc82f --- /dev/null +++ b/harbour/source/rtl/memvarbl.prg @@ -0,0 +1,80 @@ +/* + * $Id$ + */ +/* + Harbour Project source code + + This function returns a codeblock to set/get a value of PUBLIC + or PRIVATE variable + + Copyright 1999 Ryszard Glab + www - http://www.harbour-project.org + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version, with one exception: + + The exception is that if you link the Harbour Runtime Library (HRL) + and/or the Harbour Virtual Machine (HVM) with other files to produce + an executable, this does not by itself cause the resulting executable + to be covered by the GNU General Public License. Your use of that + executable is in no way restricted on account of linking the HRL + and/or HVM code into it. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit + their web site at http://www.gnu.org/). + +*/ + +/* $DOC$ + * $FUNCNAME$ + * MEMVARBLOCK + * $CATEGORY$ + * variables management + * $ONELINER$ + * Returns a codeblock that sets/gets a value of memvar variable + * $SYNTAX$ + * MEMVARBLOCK( ) + * $ARGUMENTS$ + * - a string that contains the name of variable + * $RETURNS$ + * a codeblock that sets/get the value of variable + * $DESCRIPTION$ + * This function returns a codeblock that sets/gets the value of + * PRIVATE or PUBLIC variable. When this codeblock is evaluated + * without any parameters passed then it returns the current value + * of given variable. If the second parameter is passed for + * the codeblock evaluation then its value is used to set the new + * value of given variable - the passed value is also returned + * as a value of the codeblock evaluation. + * $EXAMPLES$ + * PROCEDURE MAIN() + * LOCAL cbSetGet + * PUBLIC xPublic + * + * cbSetGet = MEMVARBLOCK( "xPublic" ) + * EVAL( cbSetGet, "new value" ) + * ? "Value of xPublic variable", EVAL( cbSetGet ) + * + * RETURN + * $TESTS$ + * + * $STATUS$ + * + * $COMPLIANCE$ + * + * $SEEALSO$ + * __MVGET, __MVPUT + * $END$ + */ + +FUNCTION MEMVARBLOCK( cMemvar ) +RETURN { |x| IIF( x==NIL, __mvGET(cMemvar), __mvPUT(cMemvar,x) ) } diff --git a/harbour/source/rtl/memvars.c b/harbour/source/rtl/memvars.c index c49900c9b0..d1d6e93aeb 100644 --- a/harbour/source/rtl/memvars.c +++ b/harbour/source/rtl/memvars.c @@ -1355,7 +1355,6 @@ HARBOUR HB___MVDBGINFO( void ) */ HARBOUR HB___MVGET( void ) { - BOOL bInvalidArg =TRUE; HB_ITEM_PTR pName = hb_param( 1, IT_STRING ); if( pName ) @@ -1434,7 +1433,6 @@ HARBOUR HB___MVGET( void ) */ HARBOUR HB___MVPUT( void ) { - BOOL bInvalidArg =TRUE; HB_ITEM_PTR pName = hb_param( 1, IT_STRING ); HB_ITEM nil; HB_ITEM_PTR pValue = &nil;