qemu-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: Digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]