@@ -16,16 +16,18 @@ cdef class _StreamWriteContext:
1616
1717 uv.uv_buf_t* uv_bufs
1818 Py_buffer* py_bufs
19- ssize_t py_bufs_len
19+ size_t py_bufs_len
2020
2121 uv.uv_buf_t* uv_bufs_start
22- ssize_t uv_bufs_len
22+ size_t uv_bufs_len
2323
2424 UVStream stream
2525
2626 bint closed
2727
2828 cdef free_bufs(self ):
29+ cdef size_t i
30+
2931 if self .uv_bufs is not NULL :
3032 PyMem_Free(self .uv_bufs)
3133 self .uv_bufs = NULL
@@ -61,7 +63,7 @@ cdef class _StreamWriteContext:
6163 self .free_bufs()
6264 Py_DECREF(self )
6365
64- cdef advance_uv_buf(self , int sent):
66+ cdef advance_uv_buf(self , size_t sent):
6567 # Advance the pointer to first uv_buf and the
6668 # pointer to first byte in that buffer.
6769 #
@@ -72,7 +74,7 @@ cdef class _StreamWriteContext:
7274
7375 cdef:
7476 uv.uv_buf_t* buf
75- int idx
77+ size_t idx
7678
7779 for idx from 0 <= idx < self .uv_bufs_len:
7880 buf = & self .uv_bufs_start[idx]
@@ -96,7 +98,7 @@ cdef class _StreamWriteContext:
9698 cdef:
9799 _StreamWriteContext ctx
98100 int uv_bufs_idx = 0
99- int py_bufs_len = 0
101+ size_t py_bufs_len = 0
100102 int i
101103
102104 Py_buffer* p_pybufs
@@ -481,7 +483,7 @@ cdef class UVStream(UVBaseTransport):
481483 if err > 0 :
482484 # Some data was successfully sent.
483485
484- if err == self ._buffer_size:
486+ if < size_t > err == self ._buffer_size:
485487 # Everything was sent.
486488 ctx.close()
487489 self ._buffer.clear()
@@ -494,7 +496,7 @@ cdef class UVStream(UVBaseTransport):
494496 # Advance pointers to uv_bufs in `ctx`,
495497 # we will reuse it soon for a uv_write
496498 # call.
497- ctx.advance_uv_buf(err)
499+ ctx.advance_uv_buf(< ssize_t > err)
498500 except Exception as ex: # This should never happen.
499501 # Let's try to close the `ctx` anyways.
500502 ctx.close()
0 commit comments