diff --git a/capn-malloc.c b/capn-malloc.c index eea040a..bd54180 100644 --- a/capn-malloc.c +++ b/capn-malloc.c @@ -161,7 +161,7 @@ capn_write_mem(struct capn *c, uint8_t *p, size_t sz, int packed) { struct capn_segment *seg; struct capn_ptr root; - int i; + uint32_t i; uint32_t headerlen; size_t datasz; uint32_t *header; diff --git a/capn-stream.c b/capn-stream.c index a8eeced..a13b0fd 100644 --- a/capn-stream.c +++ b/capn-stream.c @@ -79,7 +79,7 @@ int capn_deflate(struct capn_stream* s) { continue; default: - if (s->avail_out < 1 + sz) + if (s->avail_out < 1U + sz) return CAPN_NEED_MORE; *(s->next_out++) = hdr; @@ -166,7 +166,7 @@ int capn_inflate(struct capn_stream* s) { if (hdr & (1 << i)) sz++; } - if (s->avail_in < 2 + sz) + if (s->avail_in < 2U + sz) return CAPN_NEED_MORE; s->next_in += 2; diff --git a/capn-test.cpp b/capn-test.cpp index d6dee21..750f96f 100644 --- a/capn-test.cpp +++ b/capn-test.cpp @@ -273,11 +273,11 @@ static void getSegments(struct capn *c, struct capn_segment **s, size_t num) { ASSERT_EQ(num, c->segnum); s[0] = c->seglist; - for (int i = 1; i < num; i++) { + for (size_t i = 1; i < num; i++) { s[i] = s[i-1]->next; } - for (int i = 0; i < num; i++) { + for (size_t i = 0; i < num; i++) { EXPECT_EQ(s[i]->id, i); } } diff --git a/capn.c b/capn.c index a41adb1..40690f9 100644 --- a/capn.c +++ b/capn.c @@ -231,7 +231,7 @@ static struct capn_segment *lookup_segment(struct capn* c, struct capn_segment * static uint64_t lookup_double(struct capn_segment **s, char **d, uint64_t val) { uint64_t far, tag; - uint32_t off = (U32(val) >> 3) * 8; + size_t off = (U32(val) >> 3) * 8; char *p; if ((*s = lookup_segment((*s)->capn, *s, U32(val >> 32))) == NULL) { @@ -266,7 +266,7 @@ static uint64_t lookup_double(struct capn_segment **s, char **d, uint64_t val) { } static uint64_t lookup_far(struct capn_segment **s, char **d, uint64_t val) { - uint32_t off = (U32(val) >> 3) * 8; + size_t off = (U32(val) >> 3) * 8; if ((*s = lookup_segment((*s)->capn, *s, U32(val >> 32))) == NULL) { return 0; @@ -371,7 +371,7 @@ static capn_ptr read_ptr(struct capn_segment *s, char *d) { e = d + ret.len * 8; break; case COMPOSITE_LIST: - if (d+8-s->data > s->len) { + if ((size_t)((d+8) - s->data) > s->len) { goto err; } @@ -396,7 +396,7 @@ static capn_ptr read_ptr(struct capn_segment *s, char *d) { goto err; } - if (e - s->data > s->len) + if ((size_t)(e - s->data) > s->len) goto err; ret.data = d; @@ -666,7 +666,7 @@ static int copy_ptr(struct capn_segment *seg, char *data, struct capn_ptr *t, st struct capn_segment *cs = c->copylist; /* need to allocate a struct copy */ - if (!cs || cs->len + sizeof(*n) > cs->cap) { + if (!cs || cs->len + (int)sizeof(*n) > cs->cap) { cs = c->create_local ? c->create_local(c->user, sizeof(*n)) : NULL; if (!cs) { /* can't allocate a copy structure */ diff --git a/capn.h b/capn.h index e24aca2..e3bf635 100644 --- a/capn.h +++ b/capn.h @@ -94,7 +94,7 @@ struct capn_segment { uint32_t id; /* user settable */ char *data; - int len, cap; + size_t len, cap; void *user; }; @@ -261,9 +261,9 @@ void capn_reset_copy(struct capn *c); */ struct capn_stream { const uint8_t *next_in; - int avail_in; + size_t avail_in; uint8_t *next_out; - int avail_out; + size_t avail_out; int zeros, raw; }; diff --git a/compiler/capnpc-c.c b/compiler/capnpc-c.c index 33a02d6..584706f 100644 --- a/compiler/capnpc-c.c +++ b/compiler/capnpc-c.c @@ -1216,7 +1216,7 @@ int main() { fprintf(srcf, "static const capn_ptr capn_null = {CAPN_NULL};\n"); if (g_valseg.len > 8) { - fprintf(srcf, "static const uint8_t capn_buf[%d] = {", g_valseg.len-8); + fprintf(srcf, "static const uint8_t capn_buf[%lu] = {", g_valseg.len-8); for (j = 8; j < g_valseg.len; j++) { if (j > 8) fprintf(srcf, ","); @@ -1226,7 +1226,7 @@ int main() { } fprintf(srcf, "\n};\n"); - fprintf(srcf, "static const struct capn_segment capn_seg = {{0},0,0,0,(char*)&capn_buf[0],%d,%d};\n", + fprintf(srcf, "static const struct capn_segment capn_seg = {{0},0,0,0,(char*)&capn_buf[0],%lu,%lu};\n", g_valseg.len-8, g_valseg.len-8); }