diff --git a/src/channel.c b/src/channel.c
index 3b0592f..b3382a7 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -312,7 +312,7 @@
  * The channel status is not changed. The caller must call co_skip() to
  * update it. Unused buffers are left in an undefined state.
  */
-int co_getblk_nc(const struct channel *chn, const char **blk1, int *len1, const char **blk2, int *len2)
+int co_getblk_nc(const struct channel *chn, const char **blk1, size_t *len1, const char **blk2, size_t *len2)
 {
 	if (unlikely(chn->buf->o == 0)) {
 		if (chn->flags & CF_SHUTW)
@@ -333,8 +333,8 @@
  * the '\n'. Unused buffers are left in an undefined state.
  */
 int co_getline_nc(const struct channel *chn,
-                  const char **blk1, int *len1,
-                  const char **blk2, int *len2)
+                  const char **blk1, size_t *len1,
+                  const char **blk2, size_t *len2)
 {
 	int retcode;
 	int l;
@@ -377,8 +377,8 @@
  *   <0 : no more bytes readable because input is shut.
  */
 int ci_getblk_nc(const struct channel *chn,
-                 char **blk1, int *len1,
-                 char **blk2, int *len2)
+                 char **blk1, size_t *len1,
+                 char **blk2, size_t *len2)
 {
 	if (unlikely(chn->buf->i == 0)) {
 		if (chn->flags & CF_SHUTR)
@@ -409,8 +409,8 @@
  * the '\n'. Unused buffers are left in an undefined state.
  */
 int ci_getline_nc(const struct channel *chn,
-                  char **blk1, int *len1,
-                  char **blk2, int *len2)
+                  char **blk1, size_t *len1,
+                  char **blk2, size_t *len2)
 {
 	int retcode;
 	int l;
