Commit c5b76b381081680633e2e0a91216507430409fb2
1 parent
487fefdb
Fix mingw32 build warnings
Work around buffer and ioctlsocket argument type signedness problems Suppress a prototype which is unused on mingw32 Expand a macro to avoid warnings from some GCC versions Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Showing
7 changed files
with
37 additions
and
12 deletions
net.c
| ... | ... | @@ -665,7 +665,9 @@ static const char *slirp_smb_export; |
| 665 | 665 | #endif |
| 666 | 666 | static VLANClientState *slirp_vc; |
| 667 | 667 | |
| 668 | +#ifndef _WIN32 | |
| 668 | 669 | static void slirp_smb(const char *exported_dir); |
| 670 | +#endif | |
| 669 | 671 | static void slirp_redirection(Monitor *mon, const char *redir_str); |
| 670 | 672 | |
| 671 | 673 | int slirp_can_output(void) |
| ... | ... | @@ -1505,7 +1507,7 @@ static ssize_t net_socket_receive_dgram(VLANClientState *vc, const uint8_t *buf, |
| 1505 | 1507 | { |
| 1506 | 1508 | NetSocketState *s = vc->opaque; |
| 1507 | 1509 | |
| 1508 | - return sendto(s->fd, buf, size, 0, | |
| 1510 | + return sendto(s->fd, (void *)buf, size, 0, | |
| 1509 | 1511 | (struct sockaddr *)&s->dgram_dst, sizeof(s->dgram_dst)); |
| 1510 | 1512 | } |
| 1511 | 1513 | |
| ... | ... | @@ -1517,7 +1519,7 @@ static void net_socket_send(void *opaque) |
| 1517 | 1519 | uint8_t buf1[4096]; |
| 1518 | 1520 | const uint8_t *buf; |
| 1519 | 1521 | |
| 1520 | - size = recv(s->fd, buf1, sizeof(buf1), 0); | |
| 1522 | + size = recv(s->fd, (void *)buf1, sizeof(buf1), 0); | |
| 1521 | 1523 | if (size < 0) { |
| 1522 | 1524 | err = socket_error(); |
| 1523 | 1525 | if (err != EWOULDBLOCK) |
| ... | ... | @@ -1579,7 +1581,7 @@ static void net_socket_send_dgram(void *opaque) |
| 1579 | 1581 | NetSocketState *s = opaque; |
| 1580 | 1582 | int size; |
| 1581 | 1583 | |
| 1582 | - size = recv(s->fd, s->buf, sizeof(s->buf), 0); | |
| 1584 | + size = recv(s->fd, (void *)s->buf, sizeof(s->buf), 0); | |
| 1583 | 1585 | if (size < 0) |
| 1584 | 1586 | return; |
| 1585 | 1587 | if (size == 0) { | ... | ... |
qemu-char.c
| ... | ... | @@ -1708,7 +1708,7 @@ static int udp_chr_write(CharDriverState *chr, const uint8_t *buf, int len) |
| 1708 | 1708 | { |
| 1709 | 1709 | NetCharDriver *s = chr->opaque; |
| 1710 | 1710 | |
| 1711 | - return sendto(s->fd, buf, len, 0, | |
| 1711 | + return sendto(s->fd, (void *)buf, len, 0, | |
| 1712 | 1712 | (struct sockaddr *)&s->daddr, sizeof(struct sockaddr_in)); |
| 1713 | 1713 | } |
| 1714 | 1714 | |
| ... | ... | @@ -1737,7 +1737,7 @@ static void udp_chr_read(void *opaque) |
| 1737 | 1737 | |
| 1738 | 1738 | if (s->max_size == 0) |
| 1739 | 1739 | return; |
| 1740 | - s->bufcnt = recv(s->fd, s->buf, sizeof(s->buf), 0); | |
| 1740 | + s->bufcnt = recv(s->fd, (void *)s->buf, sizeof(s->buf), 0); | |
| 1741 | 1741 | s->bufptr = s->bufcnt; |
| 1742 | 1742 | if (s->bufcnt <= 0) |
| 1743 | 1743 | return; |
| ... | ... | @@ -1913,7 +1913,7 @@ static void tcp_chr_read(void *opaque) |
| 1913 | 1913 | len = sizeof(buf); |
| 1914 | 1914 | if (len > s->max_size) |
| 1915 | 1915 | len = s->max_size; |
| 1916 | - size = recv(s->fd, buf, len, 0); | |
| 1916 | + size = recv(s->fd, (void *)buf, len, 0); | |
| 1917 | 1917 | if (size == 0) { |
| 1918 | 1918 | /* connection closed */ |
| 1919 | 1919 | s->connected = 0; | ... | ... |
savevm.c
| ... | ... | @@ -190,7 +190,7 @@ static int socket_get_buffer(void *opaque, uint8_t *buf, int64_t pos, int size) |
| 190 | 190 | ssize_t len; |
| 191 | 191 | |
| 192 | 192 | do { |
| 193 | - len = recv(s->fd, buf, size, 0); | |
| 193 | + len = recv(s->fd, (void *)buf, size, 0); | |
| 194 | 194 | } while (len == -1 && socket_error() == EINTR); |
| 195 | 195 | |
| 196 | 196 | if (len == -1) | ... | ... |
slirp/misc.c
| ... | ... | @@ -778,7 +778,7 @@ fd_nonblock(int fd) |
| 778 | 778 | { |
| 779 | 779 | #ifdef FIONBIO |
| 780 | 780 | #ifdef _WIN32 |
| 781 | - long opt = 1; | |
| 781 | + unsigned long opt = 1; | |
| 782 | 782 | #else |
| 783 | 783 | int opt = 1; |
| 784 | 784 | #endif |
| ... | ... | @@ -797,7 +797,11 @@ void |
| 797 | 797 | fd_block(int fd) |
| 798 | 798 | { |
| 799 | 799 | #ifdef FIONBIO |
| 800 | +#ifdef _WIN32 | |
| 801 | + unsigned long opt = 0; | |
| 802 | +#else | |
| 800 | 803 | int opt = 0; |
| 804 | +#endif | |
| 801 | 805 | |
| 802 | 806 | ioctlsocket(fd, FIONBIO, &opt); |
| 803 | 807 | #else | ... | ... |
slirp/socket.c
| ... | ... | @@ -474,7 +474,12 @@ sorecvfrom(struct socket *so) |
| 474 | 474 | udp_detach(so); |
| 475 | 475 | } else { /* A "normal" UDP packet */ |
| 476 | 476 | struct mbuf *m; |
| 477 | - int len, n; | |
| 477 | + int len; | |
| 478 | +#ifdef _WIN32 | |
| 479 | + unsigned long n; | |
| 480 | +#else | |
| 481 | + int n; | |
| 482 | +#endif | |
| 478 | 483 | |
| 479 | 484 | if (!(m = m_get())) return; |
| 480 | 485 | m->m_data += IF_MAXLINKHDR; | ... | ... |
target-ppc/op_helper.c
| ... | ... | @@ -1974,7 +1974,21 @@ target_ulong helper_dlmzb (target_ulong high, target_ulong low, uint32_t update_ |
| 1974 | 1974 | SATCVT(sh, sb, int16_t, int8_t, INT8_MIN, INT8_MAX, 1, 1) |
| 1975 | 1975 | SATCVT(sw, sh, int32_t, int16_t, INT16_MIN, INT16_MAX, 1, 1) |
| 1976 | 1976 | SATCVT(sd, sw, int64_t, int32_t, INT32_MIN, INT32_MAX, 1, 1) |
| 1977 | -SATCVT(uh, ub, uint16_t, uint8_t, 0, UINT8_MAX, 0, 1) | |
| 1977 | + | |
| 1978 | +/* Work around gcc problems with the macro version */ | |
| 1979 | +static always_inline uint8_t cvtuhub(uint16_t x, int *sat) | |
| 1980 | +{ | |
| 1981 | + uint8_t r; | |
| 1982 | + | |
| 1983 | + if (x > UINT8_MAX) { | |
| 1984 | + r = UINT8_MAX; | |
| 1985 | + *sat = 1; | |
| 1986 | + } else { | |
| 1987 | + r = x; | |
| 1988 | + } | |
| 1989 | + return r; | |
| 1990 | +} | |
| 1991 | +//SATCVT(uh, ub, uint16_t, uint8_t, 0, UINT8_MAX, 0, 1) | |
| 1978 | 1992 | SATCVT(uw, uh, uint32_t, uint16_t, 0, UINT16_MAX, 0, 1) |
| 1979 | 1993 | SATCVT(ud, uw, uint64_t, uint32_t, 0, UINT32_MAX, 0, 1) |
| 1980 | 1994 | SATCVT(sh, ub, int16_t, uint8_t, 0, UINT8_MAX, 1, 1) | ... | ... |
vnc.c
| ... | ... | @@ -961,7 +961,7 @@ long vnc_client_write_buf(VncState *vs, const uint8_t *data, size_t datalen) |
| 961 | 961 | } |
| 962 | 962 | } else |
| 963 | 963 | #endif /* CONFIG_VNC_TLS */ |
| 964 | - ret = send(vs->csock, data, datalen, 0); | |
| 964 | + ret = send(vs->csock, (void *)data, datalen, 0); | |
| 965 | 965 | VNC_DEBUG("Wrote wire %p %zd -> %ld\n", data, datalen, ret); |
| 966 | 966 | return vnc_client_io_error(vs, ret, socket_error()); |
| 967 | 967 | } |
| ... | ... | @@ -1066,7 +1066,7 @@ long vnc_client_read_buf(VncState *vs, uint8_t *data, size_t datalen) |
| 1066 | 1066 | } |
| 1067 | 1067 | } else |
| 1068 | 1068 | #endif /* CONFIG_VNC_TLS */ |
| 1069 | - ret = recv(vs->csock, data, datalen, 0); | |
| 1069 | + ret = recv(vs->csock, (void *)data, datalen, 0); | |
| 1070 | 1070 | VNC_DEBUG("Read wire %p %zd -> %ld\n", data, datalen, ret); |
| 1071 | 1071 | return vnc_client_io_error(vs, ret, socket_error()); |
| 1072 | 1072 | } | ... | ... |