in src/generic/webout.c [75:138]
int Web_Eval(ClientData clientData,
Tcl_Interp * interp, int objc, Tcl_Obj * CONST objv[])
{
ResponseObj *savedObj = NULL;
ResponseObj *responseObj = NULL;
OutData *outData = NULL;
Tcl_Obj *code = NULL;
int retval = 0;
/* --------------------------------------------------------------------------
* sanity
* ----------------------------------------------------------------------- */
WebAssertData(interp, clientData, "web::putx", TCL_ERROR);
outData = (OutData *) clientData;
/* --------------------------------------------------------------------------
* web::putx myVar test
* 0 1 2
* ----------------------------------------------------------------------- */
WebAssertObjc((objc < 2)
|| (objc > 3), 1, "?channel|#globalvar? extendedstring");
if (objc == 2) {
responseObj = outData->defaultResponseObj;
savedObj = responseObj;
code = objv[1];
}
else {
savedObj = outData->defaultResponseObj;
responseObj = getResponseObj(interp, outData, Tcl_GetString(objv[1]));
code = objv[2];
}
if (responseObj == NULL) {
LOG_MSG(interp, WRITE_LOG | SET_RESULT, __FILE__, __LINE__,
"web::putx", WEBLOG_ERROR,
"error accessing response object", NULL);
return TCL_ERROR;
}
outData->defaultResponseObj = responseObj;
/* --------------------------------------------------------------------------
* call eval
* ----------------------------------------------------------------------- */
switch (outData->putxMarkup) {
case brace:
retval = webout_eval_tag(interp, responseObj, code, "{", "}");
break;
case tag:
retval = webout_eval_tag(interp, responseObj, code, "<?", "?>");
break;
default:
LOG_MSG(interp, WRITE_LOG | SET_RESULT, __FILE__, __LINE__,
"web::putx", WEBLOG_ERROR, "unknown putxmarkup type", NULL);
retval = TCL_ERROR;
break;
}
outData->defaultResponseObj = savedObj;
return retval;
}