diff options
author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-03-11 14:35:18 +0100 |
---|---|---|
committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2013-03-11 18:27:08 +0100 |
commit | 85e1ef1ffe2d5d78695acd807769c21c246aeef6 (patch) | |
tree | 198c64e3207ba8788b0fa6d636254d5fcf2d3bbd /econproxy.c | |
parent | 648d0be1b5613bb9862785af0a9a76d18fca3587 (diff) | |
download | econ-85e1ef1ffe2d5d78695acd807769c21c246aeef6.tar.gz econ-85e1ef1ffe2d5d78695acd807769c21c246aeef6.tar.bz2 econ-85e1ef1ffe2d5d78695acd807769c21c246aeef6.zip |
econproxy: Use union instead of cast for ssize_t vs size_t
Diffstat (limited to 'econproxy.c')
-rw-r--r-- | econproxy.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/econproxy.c b/econproxy.c index dc8fe7f..d0012b0 100644 --- a/econproxy.c +++ b/econproxy.c @@ -122,22 +122,20 @@ econ_send_packet(struct ep *ep) static int econ_read_packet(struct ep *ep) { - ssize_t r; - size_t len; + union { ssize_t s; size_t u; } len; init_iov(ep); - r = readv(ep->ec_fd, ep->iov, 3); - if (r < 0) + len.s = readv(ep->ec_fd, ep->iov, 3); + if (len.s < 0) return -1; - len = (size_t) r; - if (len < sizeof(struct econ_header)) { + if (len.u < sizeof(struct econ_header)) { fprintf(stderr, "econ_read_packet: error: incomplete header\n"); return -1; } - if (len < sizeof(struct econ_header) + ep->ehdr.datasize) { + if (len.u < sizeof(struct econ_header) + ep->ehdr.datasize) { fprintf(stderr, "packet has invalid datasize\n"); return -1; } |