11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
-
+
|
* Copyright (c) 1994-1997 Sun Microsystems, Inc.
* Copyright (c) 1998-1999 by Scriptics Corporation.
* Copyright (c) 2001 by Kevin B. Kenny. All rights reserved.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
* RCS: @(#) $Id: tclVar.c,v 1.101.2.8 2005/04/14 18:39:10 msofer Exp $
* RCS: @(#) $Id: tclVar.c,v 1.101.2.9 2005/04/14 19:02:35 msofer Exp $
*/
#include "tclInt.h"
/*
* The strings below are used to indicate what went wrong when a
* variable access is denied.
|
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
|
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
|
-
+
|
CallFrame *framePtr = iPtr->varFramePtr;
ShortVar *compiledLocals = framePtr->compiledLocals;
int index = ((ShortVar *) varPtr) - compiledLocals;
int localCt = framePtr->numCompiledLocals;
char **varNames = (char **) &(compiledLocals[localCt]);
if ((index < localCt)
&& (varPtr == (Var *) compiledLocals[index])) {
&& (varPtr == (Var *) &compiledLocals[index])) {
Tcl_AppendToObj(objPtr, varNames[index], -1);
}
} else if (varPtr->id.hPtr) {
/*
* Add the full name of the containing namespace (if any),
* followed by the "::" separator, then the variable name.
*/
|