summaryrefslogtreecommitdiffstats
path: root/generic/tclParse.c
diff options
context:
space:
mode:
authorandreas_kupries <akupries@shaw.ca>2001-12-04 21:52:07 (GMT)
committerandreas_kupries <akupries@shaw.ca>2001-12-04 21:52:07 (GMT)
commit8c077c7737d8f145bda783f4f6ae7b66660d5c3d (patch)
tree259a45f6a070e91ac73a150fa4714d286ef18078 /generic/tclParse.c
parent546058a1d386adc014fece9653fe8faa2356ab0e (diff)
downloadtcl-8c077c7737d8f145bda783f4f6ae7b66660d5c3d.zip
tcl-8c077c7737d8f145bda783f4f6ae7b66660d5c3d.tar.gz
tcl-8c077c7737d8f145bda783f4f6ae7b66660d5c3d.tar.bz2
* NOTES:
* tcl.h: * tclInt.h: Moved the macros to control feature exclusion and stack manipulation into the private area of the tcl headers. Renamed the macros for TCL_STRUCT_ON_HEAP to make their names more sensible. * tclCmdAH.c: * tclCompCmds.c: * tclCompExpr.c: * tclCompile.c: * tclExecute.c: * tclIO.c: * tclParse.c: * tclParseExpr.c: * tclScan.c: * tclUnixChan.c: Adapted to changed macro names, added some more places there structures go on the heap instead of the stack. Fixed a problem with TCL_FMT_STATIC_FLOATBUFFER_SZ which caused the interp to crash when actually used to reduce the usage of the stack.
Diffstat (limited to 'generic/tclParse.c')
-rw-r--r--generic/tclParse.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/generic/tclParse.c b/generic/tclParse.c
index 652e26e..41037ae 100644
--- a/generic/tclParse.c
+++ b/generic/tclParse.c
@@ -14,7 +14,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclParse.c,v 1.13.2.1.2.1 2001/12/03 18:23:14 andreas_kupries Exp $
+ * RCS: @(#) $Id: tclParse.c,v 1.13.2.1.2.2 2001/12/04 21:52:09 andreas_kupries Exp $
*/
#include "tclInt.h"
@@ -540,9 +540,9 @@ ParseTokens(src, mask, parsePtr)
int type, originalTokens, varToken;
char utfBytes[TCL_UTF_MAX];
Tcl_Token *tokenPtr;
- TYPE (Tcl_Parse) nested;
+ TEMP (Tcl_Parse) nested;
- NEWSTRUCT (Tcl_Parse,nested);
+ NEWTEMP (Tcl_Parse,nested);
/*
* Each iteration through the following loop adds one token of
@@ -589,7 +589,7 @@ ParseTokens(src, mask, parsePtr)
varToken = parsePtr->numTokens;
if (Tcl_ParseVarName(parsePtr->interp, src, parsePtr->end - src,
parsePtr, 1) != TCL_OK) {
- RELSTRUCT(nested);
+ RELTEMP(nested);
return TCL_ERROR;
}
src += parsePtr->tokenPtr[varToken].size;
@@ -607,7 +607,7 @@ ParseTokens(src, mask, parsePtr)
parsePtr->errorType = ITEM(nested,errorType);
parsePtr->term = ITEM(nested,term);
parsePtr->incomplete = ITEM(nested,incomplete);
- RELSTRUCT(nested);
+ RELTEMP(nested);
return TCL_ERROR;
}
src = ITEM (nested,commandStart) + ITEM (nested,commandSize);
@@ -625,7 +625,7 @@ ParseTokens(src, mask, parsePtr)
parsePtr->errorType = TCL_PARSE_MISSING_BRACKET;
parsePtr->term = tokenPtr->start;
parsePtr->incomplete = 1;
- RELSTRUCT(nested);
+ RELTEMP(nested);
return TCL_ERROR;
}
}
@@ -687,7 +687,7 @@ ParseTokens(src, mask, parsePtr)
parsePtr->numTokens++;
}
parsePtr->term = src;
- RELSTRUCT(nested);
+ RELTEMP(nested);
return TCL_OK;
}
@@ -1325,7 +1325,7 @@ Tcl_EvalEx(interp, script, numBytes, flags)
{
Interp *iPtr = (Interp *) interp;
char *p, *next;
- TYPE (Tcl_Parse) parse;
+ TEMP (Tcl_Parse) parse;
#define NUM_STATIC_OBJS TCL_INVOKE_STATIC_ARGS
Tcl_Obj *staticObjArray[NUM_STATIC_OBJS], **objv;
Tcl_Token *tokenPtr;
@@ -1339,7 +1339,7 @@ Tcl_EvalEx(interp, script, numBytes, flags)
*/
int gotParse = 0, objectsUsed = 0;
- NEWSTRUCT(Tcl_Parse,parse);
+ NEWTEMP(Tcl_Parse,parse);
if (numBytes < 0) {
numBytes = strlen(script);
@@ -1430,11 +1430,11 @@ Tcl_EvalEx(interp, script, numBytes, flags)
iPtr->termOffset = (p - 1) - script;
iPtr->varFramePtr = savedVarFramePtr;
- RELSTRUCT(parse);
+ RELTEMP(parse);
return TCL_OK;
}
} while (bytesLeft > 0);
- RELSTRUCT(parse);
+ RELTEMP(parse);
iPtr->termOffset = p - script;
iPtr->varFramePtr = savedVarFramePtr;
return TCL_OK;
@@ -1519,7 +1519,7 @@ Tcl_EvalEx(interp, script, numBytes, flags)
if (objv != staticObjArray) {
ckfree((char *) objv);
}
- RELSTRUCT(parse);
+ RELTEMP(parse);
iPtr->varFramePtr = savedVarFramePtr;
return code;
}
@@ -1854,13 +1854,13 @@ Tcl_ParseVar(interp, string, termPtr)
* one in the variable specifier. */
{
- TYPE (Tcl_Parse) parse;
+ TEMP (Tcl_Parse) parse;
register Tcl_Obj *objPtr;
- NEWSTRUCT(Tcl_Parse,parse);
+ NEWTEMP(Tcl_Parse,parse);
if (Tcl_ParseVarName(interp, string, -1, REF(parse), 0) != TCL_OK) {
- RELSTRUCT(parse);
+ RELTEMP(parse);
return NULL;
}
@@ -1872,13 +1872,13 @@ Tcl_ParseVar(interp, string, termPtr)
* There isn't a variable name after all: the $ is just a $.
*/
- RELSTRUCT(parse);
+ RELTEMP(parse);
return "$";
}
objPtr = Tcl_EvalTokens(interp, ITEM (parse,tokenPtr), ITEM (parse,numTokens));
if (objPtr == NULL) {
- RELSTRUCT(parse);
+ RELTEMP(parse);
return NULL;
}
@@ -1893,7 +1893,7 @@ Tcl_ParseVar(interp, string, termPtr)
}
#endif /*TCL_COMPILE_DEBUG*/
TclDecrRefCount(objPtr);
- RELSTRUCT(parse);
+ RELTEMP(parse);
return TclGetString(objPtr);
}
@@ -2218,11 +2218,11 @@ CommandComplete(script, length)
char *script; /* Script to check. */
int length; /* Number of bytes in script. */
{
- TYPE (Tcl_Parse) parse;
+ TEMP (Tcl_Parse) parse;
char *p, *end;
int result;
- NEWSTRUCT(Tcl_Parse,parse);
+ NEWTEMP(Tcl_Parse,parse);
p = script;
end = p + length;
@@ -2240,7 +2240,7 @@ CommandComplete(script, length)
result = 1;
}
Tcl_FreeParse(REF(parse));
- RELSTRUCT(parse);
+ RELTEMP(parse);
return result;
}