[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 01/16] linux-user: translate the result of getso
From: |
Paul Burton |
Subject: |
Re: [Qemu-devel] [PATCH 01/16] linux-user: translate the result of getsockopt SO_TYPE |
Date: |
Sat, 21 Jun 2014 18:39:52 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Sat, Jun 21, 2014 at 12:39:12PM +0300, Riku Voipio wrote:
> > @@ -1526,6 +1555,7 @@ static abi_long do_getsockopt(int sockfd, int level,
> > int optname,
> > abi_long ret;
> > int len, val;
> > socklen_t lv;
> > + int (*translate_result)(int val) = NULL;
> >
> > switch(level) {
> > case TARGET_SOL_SOCKET:
> > @@ -1578,6 +1608,7 @@ static abi_long do_getsockopt(int sockfd, int level,
> > int optname,
> > optname = SO_REUSEADDR;
> > goto int_case;
> > case TARGET_SO_TYPE:
> > + translate_result = host_to_target_sock_type;
> > optname = SO_TYPE;
> > goto int_case;
> > case TARGET_SO_ERROR:
> > @@ -1636,6 +1667,8 @@ static abi_long do_getsockopt(int sockfd, int level,
> > int optname,
> > ret = get_errno(getsockopt(sockfd, level, optname, &val, &lv));
> > if (ret < 0)
> > return ret;
> > + if (translate_result)
> > + val = translate_result(val);
>
> perhaps instead:
>
> if (optname == SO_TYPE)
> val = host_to_target_sock_type(val);
>
> Then we avoid the need of function pointer.
Fair enough, perhaps I was making it too generic for my own good :)
Thanks,
Paul
signature.asc
Description: Digital signature
- [Qemu-devel] [PATCH 00/16] linux-user fixes & improvements, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 01/16] linux-user: translate the result of getsockopt SO_TYPE, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 02/16] linux-user: support SO_ACCEPTCONN getsockopt option, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 03/16] linux-user: support SO_{SND, RCV}BUFFORCE setsockopt options, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 04/16] linux-user: support SO_PASSSEC setsockopt option, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 05/16] linux-user: allow NULL arguments to mount, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 06/16] linux-user: support strace of epoll_create1, Paul Burton, 2014/06/15
- [Qemu-devel] [PATCH 07/16] linux-user: fix struct target_epoll_event layout for MIPS, Paul Burton, 2014/06/15