Tcl_UpVar - link one variable to another
#include <tcl.h> int Tcl_UpVar(interp, frameName, sourceName, destName, flags) int Tcl_UpVar2(interp, frameName, name1, name2, destName, flags)
Tcl_UpVar(3tcl) Tcl Library Procedures Tcl_UpVar(3tcl) ______________________________________________________________________________ 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 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 refer 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_NAMES- PACE_ONLY or 0; if non-zero, then destName is a global or namespace variable; otherwise it is local to the current procedure (or cur- rent 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 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 exist as a linked variable. KEYWORDS linked variable, upvar, variable ATTRIBUTES See attributes(7) for descriptions of the following attributes: +---------------+------------------+ |ATTRIBUTE TYPE | ATTRIBUTE VALUE | +---------------+------------------+ |Availability | runtime/tcl-8 | +---------------+------------------+ |Stability | Uncommitted | +---------------+------------------+ NOTES Source code for open source software components in Oracle Solaris can be found at https://www.oracle.com/downloads/opensource/solaris-source- code-downloads.html. This software was built from source available at https://github.com/oracle/solaris-userland. The original community source was downloaded from http://prdownloads.sourceforge.net/tcl/tcl- core8.6.7-src.tar.gz. Further information about this software can be found on the open source community website at https://www.tcl.tk/. Tcl 7.4 Tcl_UpVar(3tcl)