rem: }
context: NsAdpSource(NsInterp *itPtr, int objc, Tcl_Obj *objv[], char *resvar){    Tcl_DString output;    int code;    Tcl_Obj     *resPtr;    bool         lcl_resp = NS_FALSE;    /*     * Direct output to a local buffer.     */    Tcl_DStringInit(&output);    /*     * If we are not acting within a context which has set up the adp     * output buffer, then hook the responsePtr to our lcl buffer     * for the processing of this request.  It will be unhooked after.     */    if (itPtr->adp.responsePtr == NULL) {        itPtr->adp.responsePtr = &output;        lcl_resp = NS_TRUE;    }    code = AdpRun(itPtr, Tcl_GetString(objv[0]), objc, objv, &output);    if (lcl_resp) {        itPtr->adp.responsePtr = NULL;    }    /*     * If the caller has supplied a variable for the adp's result value,     * then save the interp's result there prior to overwritting it.     */    if (resvar != NULL) {        resPtr = Tcl_GetObjResult(itPtr->interp);        if (Tcl_SetVar2Ex(itPtr->interp, resvar, NULL, resPtr,                           TCL_LEAVE_ERR_MSG) == NULL) {            return TCL_ERROR;        }    }    if (code == TCL_OK) {	Tcl_DStringResult(itPtr->interp, &output);    }    Tcl_DStringFree(&output);    return code;}