rem: script = Tcl_Concat(2, argv+1);
add: script = (char*)Tcl_Concat(2, (CONST char**)(argv+1));
context: NsTclAtCloseCmd(ClientData arg, Tcl_Interp *interp, int argc, CONST char **argv){    NsInterp *itPtr = arg;    char    *script;    AtClose *atPtr;    if (argc < 2 || argc > 3) {	Tcl_AppendResult(interp, "wrong # args: should be \"",			 argv[0], "script ?arg?\"", NULL);	return TCL_ERROR;    }    if (argc == 2) {	script = argv[1];    } else {	script = Tcl_Concat(2, argv+1);    }    /*     * Push the script onto the head of the atclose list so scripts     * will be called in reversed order when invoked.     */    atPtr = ns_malloc(sizeof(AtClose) + strlen(script));    strcpy(atPtr->script, script);    atPtr->nextPtr = itPtr->firstAtClosePtr;    itPtr->firstAtClosePtr = atPtr;    if (script != argv[1]) {	ckfree(script);    }    return TCL_OK;}