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

FreeBSD Manual Pages

  
 
  

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

________________________________________________________________________________

NAME
     Tcl_UpVar, Tcl_UpVar2 - link one variable to another

SYNOPSIS
     #include <tcl.h>

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

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

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

     const char *frameName (in) 	  Identifies the stack frame  containing
					  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  refer  to  a
					  scalar  variable  or to an array vari-
					  able with a parenthesized 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  variable.	 Must  not  cur-
					  rently  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  namespace
					  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 array 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.
________________________________________________________________________________

DESCRIPTION
     Tcl_UpVar and Tcl_UpVar2 provide the same functionality as the  upvar  com-
     mand:   they  make a link from a source variable to a destination variable,
     so that references to the destination are passed transparently  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 destination vari-
     able may exist at the time of the call, but if so it must exist as a linked
     variable.

KEYWORDS
     linked variable, upvar, variable

Tcl				       7.4			    Tcl_UpVar(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_UpVar.tcl86&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help