{
struct rx_buf *cursor;
struct msghdr msg;
- size_t ctrllen;
+ size_t ctrllen, i;
unsigned char control[128];
struct iovec iov[16];
unsigned more;
- int ioc, ret, i;
+ int ioc, ret;
debug("-->rxrpc_send_data(%u,0x%x)\n", call->state, call->data_count);
//dump_cmsg(&msg);
for (i = 0; i < msg.msg_iovlen; i++)
- debug("IOV[%02u] %04zu %p\n",
+ debug("IOV[%02zu] %04zu %p\n",
i, msg.msg_iov[i].iov_len, msg.msg_iov[i].iov_base);
ret = sendmsg(call->conn->fd, &msg, more);
cursor = call->buffer_head;
do {
struct rx_buf *sent = cursor;
- unsigned count = RXGEN_BUFFER_SIZE - cursor->io_cursor;
+ unsigned int count = RXGEN_BUFFER_SIZE - cursor->io_cursor;
- if (count > ret)
- count = ret;
+ if (count > (unsigned int)ret)
+ count = (unsigned int)ret;
cursor->io_cursor += count;
ret -= count;
if (cursor == call->buffer_tail)
bufs[ioc] = calloc(1, sizeof(struct rx_buf));
bufs[ioc]->magic = RXGEN_BUF_MAGIC;
if (!bufs[ioc]) {
- while (--ioc >= msg.msg_iovlen) {
+ while (--ioc >= (int)msg.msg_iovlen) {
bufs[ioc]->magic = RXGEN_BUF_DEAD;
free(bufs[ioc]->buf);
free(bufs[ioc]);
if (!bufs[ioc]->buf) {
bufs[ioc]->magic = RXGEN_BUF_DEAD;
free(bufs[ioc]);
- while (--ioc >= msg.msg_iovlen) {
+ while (--ioc >= (int)msg.msg_iovlen) {
bufs[ioc]->magic = RXGEN_BUF_DEAD;
free(bufs[ioc]->buf);
free(bufs[ioc]);
for (ioc = 0; ioc < 4 && ret > 0; ioc++) {
unsigned added = RXGEN_BUFFER_SIZE - bufs[ioc]->io_cursor;
debug("xfer[%d] space=%u rem=%d\n", ioc, added, ret);
- if (added > ret)
- added = ret;
+ if (added > (unsigned)ret)
+ added = (unsigned)ret;
bufs[ioc]->io_cursor += added;
call->data_count += added;
ret -= added;
#define debug(fmt, ...) do { if (0) printf(fmt, ## __VA_ARGS__); } while (0)
struct py_dec_index {
- unsigned long val;
+ Py_ssize_t val;
void *ptr;
};
return 0;
}
-int py_rxgen_premarshal_struct(void *array, size_t size, size_t offs,
+int py_rxgen_premarshal_struct(void *array, Py_ssize_t size, Py_ssize_t offs,
PyObject *cache,
int (*premarshal)(PyObject *object))
{
return 0;
}
-PyObject *py_rxgen_get_string(const void *_array, size_t n)
+PyObject *py_rxgen_get_string(const void *_array, Py_ssize_t n)
{
const char *array = _array;
return PyUnicode_FromStringAndSize(array, strnlen(array, n - 1));
}
-int py_rxgen_set_string(void *_array, size_t n, PyObject *val)
+int py_rxgen_set_string(void *_array, Py_ssize_t n, PyObject *val)
{
Py_ssize_t len;
char *array = _array;
return 0;
}
-PyObject *py_rxgen_get_uint8(const void *_array, size_t n, PyObject **cache)
+PyObject *py_rxgen_get_uint8(const void *_array, Py_ssize_t n, PyObject **cache)
{
PyObject *list;
const uint8_t *array = _array;
return NULL;
}
-PyObject *py_rxgen_get_int8(const void *_array, size_t n, PyObject **cache)
+PyObject *py_rxgen_get_int8(const void *_array, Py_ssize_t n, PyObject **cache)
{
PyObject *list;
const int8_t *array = _array;
return NULL;
}
-PyObject *py_rxgen_get_uint16(const void *_array, size_t n, PyObject **cache)
+PyObject *py_rxgen_get_uint16(const void *_array, Py_ssize_t n, PyObject **cache)
{
PyObject *list;
const uint16_t *array = _array;
return NULL;
}
-PyObject *py_rxgen_get_int16(const void *_array, size_t n, PyObject **cache)
+PyObject *py_rxgen_get_int16(const void *_array, Py_ssize_t n, PyObject **cache)
{
PyObject *list;
const int16_t *array = _array;
return NULL;
}
-PyObject *py_rxgen_get_uint32(const void *_array, size_t n, PyObject **cache)
+PyObject *py_rxgen_get_uint32(const void *_array, Py_ssize_t n, PyObject **cache)
{
PyObject *list;
const uint32_t *array = _array;
return NULL;
}
-PyObject *py_rxgen_get_int32(const void *_array, size_t n, PyObject **cache)
+PyObject *py_rxgen_get_int32(const void *_array, Py_ssize_t n, PyObject **cache)
{
PyObject *list;
const int32_t *array = _array;
return NULL;
}
-int py_rxgen_set_array(size_t n, PyObject **cache, PyObject *list)
+int py_rxgen_set_array(Py_ssize_t n, PyObject **cache, PyObject *list)
{
if (!PySequence_Check(list) ||
PySequence_Size(list) > n) {
return 0;
}
-int py_rxgen_premarshal_uint8(void *_array, size_t n, PyObject *cache)
+int py_rxgen_premarshal_uint8(void *_array, Py_ssize_t n, PyObject *cache)
{
PyObject *list;
uint8_t *array = _array;
return -1;
}
-int py_rxgen_premarshal_uint16(void *_array, size_t n, PyObject *cache)
+int py_rxgen_premarshal_uint16(void *_array, Py_ssize_t n, PyObject *cache)
{
PyObject *list;
uint16_t *array = _array;
return -1;
}
-int py_rxgen_premarshal_uint32(void *_array, size_t n, PyObject *cache)
+int py_rxgen_premarshal_uint32(void *_array, Py_ssize_t n, PyObject *cache)
{
PyObject *list;
uint32_t *array = _array;
return -1;
}
-int py_rxgen_premarshal_int8(void *_array, size_t n, PyObject *cache)
+int py_rxgen_premarshal_int8(void *_array, Py_ssize_t n, PyObject *cache)
{
PyObject *list;
int8_t *array = _array;
return -1;
}
-int py_rxgen_premarshal_int16(void *_array, size_t n, PyObject *cache)
+int py_rxgen_premarshal_int16(void *_array, Py_ssize_t n, PyObject *cache)
{
PyObject *list;
int16_t *array = _array;
return -1;
}
-int py_rxgen_premarshal_int32(void *_array, size_t n, PyObject *cache)
+int py_rxgen_premarshal_int32(void *_array, Py_ssize_t n, PyObject *cache)
{
PyObject *list;
int32_t *array = _array;
return -1;
}
-PyObject *py_rxgen_get_structs(const void *data, size_t num, size_t size,
+PyObject *py_rxgen_get_structs(const void *data, Py_ssize_t num, Py_ssize_t size,
PyObject **cache,
PyObject *(*data_to_type)(const void *elem))
{
}
int py_rxgen_premarshal_structs(void *array,
- size_t n, size_t size, size_t offs,
+ Py_ssize_t n, Py_ssize_t size, Py_ssize_t offs,
PyObject *cache,
int (*premarshal)(PyObject *object))
{
* Encode the just the contents of a python buffer view, without length or
* realignment.
*/
-int py_enc_buffer_raw(struct rx_call *call, Py_buffer *view, size_t dim)
+int py_enc_buffer_raw(struct rx_call *call, Py_buffer *view, Py_ssize_t dim)
{
if (call->error_code)
return -1;
/*
* Encode the contents of a python buffer view.
*/
-int py_enc_buffer(struct rx_call *call, Py_buffer *view, size_t dim)
+int py_enc_buffer(struct rx_call *call, Py_buffer *view, Py_ssize_t dim)
{
static unsigned zero;
int i;
*/
static int py_dec_c_array(struct rx_call *call, struct py_dec_manager *manager)
{
- unsigned long val;
+ Py_ssize_t val;
int i;
/* First of all, we finish off the blob we're currently decoding
*/
static int py_dec_numpy_array(struct rx_call *call, struct py_dec_manager *manager)
{
- unsigned long val;
+ Py_ssize_t val;
int i;
/* First of all, we finish off the blob we're currently decoding
*/
static int py_dec_pil_array(struct rx_call *call, struct py_dec_manager *manager)
{
- unsigned long val;
+ Py_ssize_t val;
int i;
/* First of all, we finish off the blob we're currently decoding
int py_dec_init_buffer(struct rx_call *call, Py_buffer *view, bool padded)
{
struct py_dec_manager *manager = NULL;
- size_t size;
+ Py_ssize_t size;
int i;
if (call->decoder_manager) {
extern PyObject *py_rxgen_get_struct(const void *p, PyObject **cache,
PyObject *(*data_to_type)(const void *elem));
extern int py_rxgen_set_struct(PyObject **cache, PyTypeObject *type, PyObject *val);
-extern int py_rxgen_premarshal_struct(void *p, size_t size, size_t offs,
+extern int py_rxgen_premarshal_struct(void *p, Py_ssize_t size, Py_ssize_t offs,
PyObject *cache,
int (*premarshal)(PyObject *object));
/*
* String and opaque type handling
*/
-extern PyObject *py_rxgen_get_string(const void *_p, size_t n);
-extern int py_rxgen_set_string(void *_p, size_t n, PyObject *val);
-extern int py_enc_buffer_raw(struct rx_call *call, Py_buffer *view, size_t dim);
-extern int py_enc_buffer(struct rx_call *call, Py_buffer *view, size_t dim);
+extern PyObject *py_rxgen_get_string(const void *_p, Py_ssize_t n);
+extern int py_rxgen_set_string(void *_p, Py_ssize_t n, PyObject *val);
+extern int py_enc_buffer_raw(struct rx_call *call, Py_buffer *view, Py_ssize_t dim);
+extern int py_enc_buffer(struct rx_call *call, Py_buffer *view, Py_ssize_t dim);
extern int py_dec_into_buffer(struct rx_call *call);
extern int py_dec_init_buffer(struct rx_call *call, Py_buffer *view, bool padded);
extern int py_dec_init_opaque(struct rx_call *call, PyObject *obj);
/*
* Embedded general array handling
*/
-extern int py_rxgen_set_array(size_t n, PyObject **cache, PyObject *val);
+extern int py_rxgen_set_array(Py_ssize_t n, PyObject **cache, PyObject *val);
/*
* Embedded integer array handling
*/
-extern PyObject *py_rxgen_get_int8(const void *_array , size_t n, PyObject **cache);
-extern PyObject *py_rxgen_get_int16(const void *_array, size_t n, PyObject **cache);
-extern PyObject *py_rxgen_get_int32(const void *_array, size_t n, PyObject **cache);
-extern PyObject *py_rxgen_get_uint8(const void *_array , size_t n, PyObject **cache);
-extern PyObject *py_rxgen_get_uint16(const void *_array, size_t n, PyObject **cache);
-extern PyObject *py_rxgen_get_uint32(const void *_array, size_t n, PyObject **cache);
-
-extern int py_rxgen_premarshal_uint8(void *_array, size_t n, PyObject *cache);
-extern int py_rxgen_premarshal_uint16(void *_array, size_t n, PyObject *cache);
-extern int py_rxgen_premarshal_uint32(void *_array, size_t n, PyObject *cache);
-extern int py_rxgen_premarshal_int8(void *_array, size_t n, PyObject *cache);
-extern int py_rxgen_premarshal_int16(void *_array, size_t n, PyObject *cache);
-extern int py_rxgen_premarshal_int32(void *_array, size_t n, PyObject *cache);
+extern PyObject *py_rxgen_get_int8(const void *_array , Py_ssize_t n, PyObject **cache);
+extern PyObject *py_rxgen_get_int16(const void *_array, Py_ssize_t n, PyObject **cache);
+extern PyObject *py_rxgen_get_int32(const void *_array, Py_ssize_t n, PyObject **cache);
+extern PyObject *py_rxgen_get_uint8(const void *_array , Py_ssize_t n, PyObject **cache);
+extern PyObject *py_rxgen_get_uint16(const void *_array, Py_ssize_t n, PyObject **cache);
+extern PyObject *py_rxgen_get_uint32(const void *_array, Py_ssize_t n, PyObject **cache);
+
+extern int py_rxgen_premarshal_uint8(void *_array, Py_ssize_t n, PyObject *cache);
+extern int py_rxgen_premarshal_uint16(void *_array, Py_ssize_t n, PyObject *cache);
+extern int py_rxgen_premarshal_uint32(void *_array, Py_ssize_t n, PyObject *cache);
+extern int py_rxgen_premarshal_int8(void *_array, Py_ssize_t n, PyObject *cache);
+extern int py_rxgen_premarshal_int16(void *_array, Py_ssize_t n, PyObject *cache);
+extern int py_rxgen_premarshal_int32(void *_array, Py_ssize_t n, PyObject *cache);
/*
* Embedded struct array handling
*/
-extern PyObject *py_rxgen_get_structs(const void *data, size_t num, size_t size,
+extern PyObject *py_rxgen_get_structs(const void *data, Py_ssize_t num, Py_ssize_t size,
PyObject **cache,
PyObject *(*data_to_type)(const void *elem));
-extern int py_rxgen_premarshal_structs(void *array, size_t n, size_t size, size_t offs,
+extern int py_rxgen_premarshal_structs(void *array, Py_ssize_t n, Py_ssize_t size, Py_ssize_t offs,
PyObject *cache,
int (*premarshal)(PyObject *object));