add: if (conn->flags & NS_CONN_SKIPBODY) { buf = NULL; len = 0; }
context: AdpFlush(NsInterp *itPtr, int stream){    Tcl_Encoding encoding;    Ns_Conn *conn;    Tcl_DString  ds;    int result, len;    char *buf, *type;    Tcl_DStringInit(&ds);    conn = itPtr->conn;    buf = itPtr->adp.responsePtr->string;    len = itPtr->adp.responsePtr->length;    type = itPtr->adp.typePtr->string;    /*     * If necessary, encode the output.     */    encoding = Ns_ConnGetEncoding(conn);    if (encoding != NULL) {	Tcl_UtfToExternalDString(encoding, buf, len, &ds);	buf = ds.string;	len = ds.length;    }    /*     * Flush out the headers now that the encoded output length     * is known for non-streaming output.     */    if (!(conn->flags & NS_CONN_SENTHDRS)) {	if (itPtr->servPtr->adp.enableexpire) {	    Ns_ConnCondSetHeaders(conn, "Expires", "now");	}	Ns_ConnSetRequiredHeaders(conn, type, stream ? 0 : len);	Ns_ConnQueueHeaders(conn, 200);    }    /*     * Write the output buffer and if not streaming, close the     * connection.     */    result = Ns_WriteConn(conn, buf, len);    if (result == NS_OK && !stream) {	result = Ns_ConnClose(conn);    }    Tcl_DStringFree(&ds);    Tcl_DStringTrunc(itPtr->adp.responsePtr, 0);    return result;}