22 lines
746 B
Tcl
22 lines
746 B
Tcl
int Query (char * Data, size_t * Length) {
|
|
Tcl_Obj *arguments[2];
|
|
int code;
|
|
|
|
arguments[0] = Tcl_NewStringObj("Query", -1); /* -1 for "use up to zero byte" */
|
|
arguments[1] = Tcl_NewStringObj(Data, Length);
|
|
Tcl_IncrRefCount(arguments[0]);
|
|
Tcl_IncrRefCount(arguments[1]);
|
|
if (Tcl_EvalObjv(interp, 2, arguments, 0) != TCL_OK) {
|
|
/* Was an error or other exception; report here... */
|
|
Tcl_DecrRefCount(arguments[0]);
|
|
Tcl_DecrRefCount(arguments[1]);
|
|
return 0;
|
|
}
|
|
Tcl_DecrRefCount(arguments[0]);
|
|
Tcl_DecrRefCount(arguments[1]);
|
|
if (Tcl_GetObjResult(NULL, Tcl_GetObjResult(interp), &code) != TCL_OK) {
|
|
/* Not an integer result */
|
|
return 0;
|
|
}
|
|
return code;
|
|
}
|