Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
Tcl_UpVar(3)		    Tcl	Library	Procedures		  Tcl_UpVar(3)


       Tcl_UpVar, Tcl_UpVar2 - link one	variable to another

       #include	<tcl.h>

       Tcl_UpVar(interp, frameName, sourceName,	destName, flags)

       Tcl_UpVar2(interp, frameName, name1, name2, destName, flags)

       Tcl_Interp *interp (in)		    Interpreter	 containing variables;
					    also used for error	reporting.

       const char *frameName (in)	    Identifies the  stack  frame  con-
					    taining source variable.  May have
					    any	of the forms accepted  by  the
					    upvar command, such	as #0 or 1.

       const char *sourceName (in)	    Name  of  source  variable,	in the
					    frame given	by frameName.  May re-
					    fer	 to a scalar variable or to an
					    array variable  with  a  parenthe-
					    sized index.

       const char *destName (in)	    Name   of	destination  variable,
					    which is to	be  linked  to	source
					    variable  so  that	references  to
					    destName refer to the other	 vari-
					    able.   Must  not  currently exist
					    except as an upvar-ed variable.

       int flags (in)			    One	of TCL_GLOBAL_ONLY,  TCL_NAME-
					    SPACE_ONLY	or  0;	 if  non-zero,
					    then destName is a global or name-
					    space  variable;   otherwise it is
					    local to the current procedure (or
					    current  namespace if no procedure
					    is active).

       const char *name1 (in)		    First part	of  source  variable's
					    name  (scalar name,	or name	of ar-
					    ray	without	array index).

       const char *name2 (in)		    If source variable is  an  element
					    of	an  array,  gives the index of
					    the	element.   For	scalar	source
					    variables, is NULL.

       Tcl_UpVar  and  Tcl_UpVar2  provide the same functionality as the upvar
       command:	 they make a link from a  source  variable  to	a  destination
       variable,  so  that  references to the destination are passed transpar-
       ently through to	the source.  The name of the source  variable  may  be
       specified  either  as  a	single string such as xyx or a(24) (by calling
       Tcl_UpVar) or in	two parts where	the array name has been	separated from
       the  element  name  (by	calling	Tcl_UpVar2).  The destination variable
       name is specified in a single string;  it may not be an array element.

       Both procedures return either TCL_OK or TCL_ERROR, and  they  leave  an
       error message in	the interpreter's result if an error occurs.

       As  with	 the  upvar command, the source	variable need not exist; if it
       does exist, unsetting it	later does not destroy the link.  The destina-
       tion  variable may exist	at the time of the call, but if	so it must ex-
       ist as a	linked variable.

       linked variable,	upvar, variable

Tcl				      7.4			  Tcl_UpVar(3)


Want to link to this manual page? Use this URL:

home | help