Tcl Library Procedures Tcl_UpVar(3TCL)
_________________________________________________________________
NAME
Tcl_UpVar, Tcl_UpVar2 - link one variable to another
SYNOPSIS
#include
intTcl_UpVar(interp, frameName, sourceName, destName, flags)
intTcl_UpVar2(interp, frameName, name1, name2, destName, flags)
ARGUMENTSTcl_Interp *interp (in) Interpreter
containing variables; also used forerror report-
ing. CONST char *frameName (in) Identifies the stack frame containingsource vari-
able. May have any of the forms accepted bythe upvar com-
mand, such as#0 or 1.
CONST char *sourceName (in) Name of source variable, in the frame given by frameName. May refer to ascalar vari-
able or to an array variable with a parenthesized index.CONST char *destName (in) Name of desti-
nation vari-
able, which is to be linked to source Tcl Last change: 7.4 1Tcl Library Procedures Tcl_UpVar(3TCL)
variable sothat refer-
ences to dest-
Name refer to the other variable. Must not currently exist exceptas an upvar-ed
variable. int flags (in) EitherTCL_GLOBAL_ONLY
or 0; ifnon-zero, then
destName is aglobal vari-
able; other-
wise it is a local to thecurrent pro-
cedure (or global 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 scalarsource vari-
ables, is NULL._________________________________________________________________
DESCRIPTION
Tcl_UpVar and Tcl_UpVar2 provide the same functionality as
the upvar command: they make a link from a source variable Tcl Last change: 7.4 2Tcl Library Procedures Tcl_UpVar(3TCL)
to a destination variable, so that references to the desti-
nation are passed transparently through to the source. The name of the source variable may be specified either as asingle string such as xyx or a(24) (by calling Tcl_UpVar) or
in two parts where the array name has been separated fromthe 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 variable may exist at the time of the call, but if so it must exist as a linked variable. KEYWORDS linked variable, upvar, variableATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:_______________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE|
|____________________|__________________|_
| Availability | runtime/tcl-8 |
|____________________|__________________|_
| Interface Stability| Uncommitted ||____________________|_________________|
NOTES Source for Tcl is available on http://opensolaris.org. Tcl Last change: 7.4 3