MINOR: channel: rename bi_erase() to channel_truncate()

It applies to the channel and it doesn't erase outgoing data, only
pending unread data, which is strictly equivalent to what recv()
does with MSG_TRUNC, so that new name is more accurate and intuitive.
diff --git a/include/proto/channel.h b/include/proto/channel.h
index db179ca..42bba15 100644
--- a/include/proto/channel.h
+++ b/include/proto/channel.h
@@ -334,12 +334,11 @@
 	return ret;
 }
 
-/* Cut the "tail" of the channel's buffer, which means strip it to the length
- * of unsent data only, and kill any remaining unsent data. Any scheduled
- * forwarding is stopped. This is mainly to be used to send error messages
- * after existing data.
+/* Truncate any unread data in the channel's buffer, and disable forwarding.
+ * Outgoing data are left intact. This is mainly to be used to send error
+ * messages after existing data.
  */
-static inline void bi_erase(struct channel *chn)
+static inline void channel_truncate(struct channel *chn)
 {
 	if (!chn->buf->o)
 		return channel_erase(chn);
diff --git a/src/proto_http.c b/src/proto_http.c
index e14b1d6..6d94b69 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -5233,7 +5233,7 @@
 	if (txn->rsp.msg_state == HTTP_MSG_CLOSED) {
 	http_msg_closed:
 		/* drop any pending data */
-		bi_erase(chn);
+		channel_truncate(chn);
 		channel_auto_close(chn);
 		channel_auto_read(chn);
 		goto wait_other_side;
@@ -5300,7 +5300,7 @@
 		channel_abort(s->req);
 		channel_auto_close(s->req);
 		channel_auto_read(s->req);
-		bi_erase(s->req);
+		channel_truncate(s->req);
 	}
 	else if ((txn->req.msg_state == HTTP_MSG_DONE ||
 		  txn->req.msg_state == HTTP_MSG_CLOSED) &&
@@ -5745,7 +5745,7 @@
 			rep->analysers = 0;
 			txn->status = 502;
 			rep->prod->flags |= SI_FL_NOLINGER;
-			bi_erase(rep);
+			channel_truncate(rep);
 			stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_502));
 
 			if (!(s->flags & SN_ERR_MASK))
@@ -5780,7 +5780,7 @@
 			rep->analysers = 0;
 			txn->status = 502;
 			rep->prod->flags |= SI_FL_NOLINGER;
-			bi_erase(rep);
+			channel_truncate(rep);
 			stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_502));
 
 			if (!(s->flags & SN_ERR_MASK))
@@ -5807,7 +5807,7 @@
 			rep->analysers = 0;
 			txn->status = 504;
 			rep->prod->flags |= SI_FL_NOLINGER;
-			bi_erase(rep);
+			channel_truncate(rep);
 			stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_504));
 
 			if (!(s->flags & SN_ERR_MASK))
@@ -5828,7 +5828,7 @@
 			channel_auto_close(rep);
 
 			txn->status = 400;
-			bi_erase(rep);
+			channel_truncate(rep);
 			stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_400));
 
 			if (!(s->flags & SN_ERR_MASK))
@@ -5857,7 +5857,7 @@
 			rep->analysers = 0;
 			txn->status = 502;
 			rep->prod->flags |= SI_FL_NOLINGER;
-			bi_erase(rep);
+			channel_truncate(rep);
 			stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_502));
 
 			if (!(s->flags & SN_ERR_MASK))
@@ -6189,7 +6189,7 @@
 	s->logs.logwait = 0;
 	s->logs.level = 0;
 	s->rep->flags &= ~CF_EXPECT_MORE; /* speed up sending a previous response */
-	bi_erase(rep);
+	channel_truncate(rep);
 	stream_int_retnclose(rep->cons, NULL);
 	return 0;
 }
@@ -6260,7 +6260,7 @@
 				txn->status = 502;
 				s->logs.t_data = -1; /* was not a valid response */
 				rep->prod->flags |= SI_FL_NOLINGER;
-				bi_erase(rep);
+				channel_truncate(rep);
 				stream_int_retnclose(rep->cons, http_error_message(s, HTTP_ERR_502));
 				if (!(s->flags & SN_ERR_MASK))
 					s->flags |= SN_ERR_PRXCOND;
diff --git a/src/stream_interface.c b/src/stream_interface.c
index f05f4a8..9025851 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -125,8 +125,8 @@
 	channel_abort(si->ib);
 	channel_auto_close(si->ib);
 	channel_erase(si->ib);
+	channel_truncate(si->ob);
 
-	bi_erase(si->ob);
 	if (likely(msg && msg->len))
 		bo_inject(si->ob, msg->str, msg->len);