diff --git a/src/buffer.c b/src/buffer.c
index 5085e72..d6320c6 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -86,16 +86,16 @@
 
 	delta = len - (end - pos);
 
-	if (bi_end(b) + delta > b->data + b->size)
+	if (b_tail(b) + delta > b->data + b->size)
 		return 0;  /* no space left */
 
 	if (buffer_not_empty(b) &&
-	    bi_end(b) + delta > b_head(b) &&
-	    b_head(b) >= bi_end(b))
+	    b_tail(b) + delta > b_head(b) &&
+	    b_head(b) >= b_tail(b))
 		return 0;  /* no space left before wrapping data */
 
 	/* first, protect the end of the buffer */
-	memmove(end + delta, end, bi_end(b) - end);
+	memmove(end + delta, end, b_tail(b) - end);
 
 	/* now, copy str over pos */
 	if (len)
@@ -125,16 +125,16 @@
 
 	delta = len + 2;
 
-	if (bi_end(b) + delta >= b->data + b->size)
+	if (b_tail(b) + delta >= b->data + b->size)
 		return 0;  /* no space left */
 
 	if (buffer_not_empty(b) &&
-	    bi_end(b) + delta > b_head(b) &&
-	    b_head(b) >= bi_end(b))
+	    b_tail(b) + delta > b_head(b) &&
+	    b_head(b) >= b_tail(b))
 		return 0;  /* no space left before wrapping data */
 
 	/* first, protect the end of the buffer */
-	memmove(pos + delta, pos, bi_end(b) - pos);
+	memmove(pos + delta, pos, b_tail(b) - pos);
 
 	/* now, copy str over pos */
 	if (len && str) {
