in src/generic/conv.c [71:155]
int Web_Htmlify(ClientData clientData,
Tcl_Interp * interp, int objc, Tcl_Obj * CONST objv[])
{
ConvData *convData = NULL;
Tcl_Obj *res = NULL;
int useNumeric = TCL_ERROR;
int iCurArg = 0;
static TCLCONST char *params[] = { "-numeric", NULL };
enum params
{ NUMERIC };
/* --------------------------------------------------------------------------
* sanitiy
* ----------------------------------------------------------------------- */
WebAssertData(interp, clientData, "web::hmtlify", TCL_ERROR)
convData = (ConvData *) clientData;
/* --------------------------------------------------------------------------
* args
* ----------------------------------------------------------------------- */
if (objc < 2) {
LOG_MSG(interp, WRITE_LOG | SET_RESULT, __FILE__, __LINE__,
"web::htmlify", WEBLOG_INFO,
"usage: ?-numeric? string", NULL);
return TCL_ERROR;
}
else if (objc == 2) {
/* ------------------------------------------------------------------------
* assume that there are no options
* --------------------------------------------------------------------- */
iCurArg = 1;
}
else {
iCurArg = argIndexOfFirstOpt(objc, objv);
if (iCurArg == -1) {
iCurArg = argIndexOfFirstArg(objc, objv, params, NULL);
if (iCurArg != (objc - 1)) {
LOG_MSG(interp, WRITE_LOG | SET_RESULT, __FILE__, __LINE__,
"web::htmlify", WEBLOG_INFO,
"usage: ?-numeric? string", NULL);
return TCL_ERROR;
}
}
else {
if (strcmp(Tcl_GetString(objv[iCurArg]), params[NUMERIC]) == 0) {
int numArgs = objc - iCurArg;
/* --------------------------------------------------------------------
* NUMERIC
* ----------------------------------------------------------------- */
switch (numArgs) {
case 2:
iCurArg++;
useNumeric = TCL_OK;
break;
default:
LOG_MSG(interp, WRITE_LOG | SET_RESULT, __FILE__,
__LINE__, "web::htmlify", WEBLOG_INFO,
"usage: ?-numeric? string", NULL);
return TCL_ERROR;
}
}
}
}
res = webHtmlify(convData, objv[iCurArg], useNumeric);
if (res == NULL) {
LOG_MSG(interp, WRITE_LOG | SET_RESULT,
__FILE__, __LINE__,
"web::htmlify", WEBLOG_ERROR,
"error converting \"", Tcl_GetString(objv[iCurArg]), "\"",
NULL);
return TCL_ERROR;
}
Tcl_SetObjResult(interp, res);
Tcl_DecrRefCount(res);
return TCL_OK;
}