MINOR: mux-quic: use stream states to mark as detached

Adjust condition to detach a qcs instance : if the stream is not locally
close it is not directly free. This should improve stream closing by
ensuring that either FIN or a RESET_STREAM is sent before destroying it.
diff --git a/src/mux_quic.c b/src/mux_quic.c
index 53d0aab..073fc97 100644
--- a/src/mux_quic.c
+++ b/src/mux_quic.c
@@ -1508,8 +1508,7 @@
 
 		/* Release detached streams with empty buffer. */
 		if (qcs->flags & QC_SF_DETACH) {
-			if (!b_data(&qcs->tx.buf) &&
-			    qcs->tx.offset == qcs->tx.sent_offset) {
+			if (qcs_is_close_local(qcs)) {
 				TRACE_DEVEL("purging detached stream", QMUX_EV_QCC_WAKE, qcs->qcc->conn, qcs);
 				qcs_destroy(qcs);
 				release = 1;
@@ -1734,8 +1733,7 @@
 	//BUG_ON_HOT(!qcs_is_close_remote(qcs));
 	--qcc->nb_sc;
 
-	if ((b_data(&qcs->tx.buf) || qcs->tx.offset > qcs->tx.sent_offset) &&
-	    !(qcc->conn->flags & CO_FL_ERROR)) {
+	if (!qcs_is_close_local(qcs) && !(qcc->conn->flags & CO_FL_ERROR)) {
 		TRACE_DEVEL("leaving with remaining data, detaching qcs", QMUX_EV_STRM_END, qcc->conn, qcs);
 		qcs->flags |= QC_SF_DETACH;
 		return;
@@ -1838,7 +1836,6 @@
 
 	if (qcs_is_close_local(qcs)) {
 		ret = count;
-		count = 0;
 		goto end;
 	}