in tcl_cmds.c [1983:2009]
int cmd_ap_get_client_block(ClientData cd, Tcl_Interp *ixx, int objc, Tcl_Obj *CONST objv[])
{
int bufsiz;
char *buffer;
if (objc != 2) {
Tcl_WrongNumArgs(interp, 1, objv, "bufsiz");
return TCL_ERROR;
}
Tcl_GetIntFromObj(interp, objv[1], &bufsiz);
buffer = malloc(bufsiz);
bufsiz = ap_get_client_block(_r, buffer, bufsiz);
Tcl_SetObjResult(interp, Tcl_NewIntObj(bufsiz));
if (bufsiz > 0) {
Tcl_SetVar2Ex(interp, "R", NULL, Tcl_NewByteArrayObj(buffer, bufsiz), TCL_LEAVE_ERR_MSG);
}
free(buffer);
return TCL_OK;
}