MEDIUM: channel: make buffer_reserved() use channel_in_transit()

This ensures that we rely on a sane computation for the buffer size.
diff --git a/include/proto/channel.h b/include/proto/channel.h
index 1648a6d..dccb987 100644
--- a/include/proto/channel.h
+++ b/include/proto/channel.h
@@ -287,16 +287,11 @@
  */
 static inline int buffer_reserved(const struct channel *chn)
 {
-	unsigned int reserved = global.tune.maxrewrite;
+	int reserved;
 
-	if (chn->to_forward == CHN_INFINITE_FORWARD ||
-	    chn->to_forward >= reserved ||
-	    chn->buf->o >= reserved ||
-	    chn->to_forward + chn->buf->o >= reserved)
+	reserved = global.tune.maxrewrite - channel_in_transit(chn);
+	if (reserved < 0)
 		reserved = 0;
-	else
-		reserved -= chn->to_forward + chn->buf->o;
-
 	return reserved;
 }