[Spice-devel] [PATCH] Add casts for compatibility purposes

Alon Levy alevy at redhat.com
Tue Feb 14 00:41:51 PST 2012


On Mon, Feb 13, 2012 at 01:53:32PM -0600, Dan McGee wrote:
> Some non-Linux platforms return a (caddr_t *) result for the return
> value of mmap(), which is very unfortunate. Add a (void *) cast to
> explicitly avoid the warning when compiling with -Werror.
> 
> For the IO vector related stuff, signed vs. unsigned comes into play so
> adding a (void *) cast here is technically correct for all platforms.
> 

ACK. I'll push.

> Signed-off-by: Dan McGee <dpmcgee at gmail.com>
> ---
> 
> We don't fully compile on non-Linux platforms due to epoll() usage, but future
> patches I have planned might change that. This is just one small patch to make
> it easier to focus exclusively on the epoll stuff.
> 
>  common/marshaller.c |    2 +-
>  server/reds.c       |    2 +-
>  tools/reds_stat.c   |    2 +-
>  3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/common/marshaller.c b/common/marshaller.c
> index 1446df8..9023d08 100644
> --- a/common/marshaller.c
> +++ b/common/marshaller.c
> @@ -525,7 +525,7 @@ int spice_marshaller_fill_iovec(SpiceMarshaller *m, struct iovec *vec,
>              if (v == n_vec) {
>                  return v; /* Not enough space in vec */
>              }
> -            vec[v].iov_base = item->data + skip_bytes;
> +            vec[v].iov_base = (void *)item->data + skip_bytes;
>              vec[v].iov_len = item->len - skip_bytes;
>              skip_bytes = 0;
>              v++;
> diff --git a/server/reds.c b/server/reds.c
> index 828ba65..ab0dfaf 100644
> --- a/server/reds.c
> +++ b/server/reds.c
> @@ -3623,7 +3623,7 @@ static int do_spice_init(SpiceCoreInterface *core_interface)
>      if (ftruncate(fd, REDS_STAT_SHM_SIZE) == -1) {
>          red_error("statistics ftruncate failed, %s", strerror(errno));
>      }
> -    reds->stat = mmap(NULL, REDS_STAT_SHM_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
> +    reds->stat = (SpiceStat *)mmap(NULL, REDS_STAT_SHM_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
>      if (reds->stat == (SpiceStat *)MAP_FAILED) {
>          red_error("statistics mmap failed, %s", strerror(errno));
>      }
> diff --git a/tools/reds_stat.c b/tools/reds_stat.c
> index 39d17af..5e9705c 100644
> --- a/tools/reds_stat.c
> +++ b/tools/reds_stat.c
> @@ -84,7 +84,7 @@ int main(int argc, char **argv)
>          return -1;
>      }
>      shm_size = sizeof(SpiceStat);
> -    reds_stat = mmap(NULL, shm_size, PROT_READ, MAP_SHARED, fd, 0);
> +    reds_stat = (SpiceStat *)mmap(NULL, shm_size, PROT_READ, MAP_SHARED, fd, 0);
>      if (reds_stat == (SpiceStat *)MAP_FAILED) {
>          perror("mmap");
>          goto error1;
> -- 
> 1.7.9
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list