[Spice-devel] [PATCH spice-server 2/2] sound: Use memcpy instead of manually copy volume array

Pavel Grunt pgrunt at redhat.com
Wed Feb 15 17:14:43 UTC 2017


On Wed, 2017-02-15 at 12:07 -0500, Frediano Ziglio wrote:
> > 
> > On Thu, Feb 02, 2017 at 04:29:37PM +0000, Frediano Ziglio wrote:
> > > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> > > ---
> > >  server/sound.c | 6 ++----
> > >  1 file changed, 2 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/server/sound.c b/server/sound.c
> > > index 7c36174..b692646 100644
> > > --- a/server/sound.c
> > > +++ b/server/sound.c
> > > @@ -384,7 +384,6 @@ static int
> > > snd_playback_send_migrate(PlaybackChannelClient *client)
> > >  static int snd_send_volume(SndChannelClient *client, uint32_t
> > > cap, int
> > >  msg)
> > >  {
> > >      SpiceMsgAudioVolume *vol;
> > > -    uint8_t c;
> > >      RedChannelClient *rcc = RED_CHANNEL_CLIENT(client);
> > >      SpiceMarshaller *m =
> > > red_channel_client_get_marshaller(rcc);
> > >      SndChannel *channel =
> > >      SND_CHANNEL(red_channel_client_get_channel(rcc));
> > > @@ -398,9 +397,8 @@ static int snd_send_volume(SndChannelClient
> > > *client,
> > > uint32_t cap, int msg)
> > >                   st->volume_nchannels * sizeof (uint16_t));
> > >      red_channel_client_init_send_data(rcc, msg);
> > >      vol->nchannels = st->volume_nchannels;
> > > -    for (c = 0; c < st->volume_nchannels; ++c) {
> > > -        vol->volume[c] = st->volume[c];
> > > -    }
> > > +    SPICE_VERIFY(sizeof(vol->volume[0]) == sizeof(st-
> > > >volume[0]));
> > > +    memcpy(vol->volume, st->volume, sizeof(st->volume[0]) *
> > > st->volume_nchannels);
> > 
> > I think I prefer the loop version (easier to read).
> > If you really insist on having the memcpy version,
> > Acked-by: Christophe Fergeau <cfergeau at redhat.com>
> > 
> 
> Let's size decide!
> 
> Before:
>    text	   data	    bss	    dec	    hex	
> filename
>   16588	      0	     96	  16684	   412c	
> server/.libs/sound.o
> 
> After:
>    text	   data	    bss	    dec	    hex	
> filename
>   16684	      0	     96	  16780	   418c	
> server/.libs/sound.o
> 
I guess it is due to the SPICE_VERIFY usage

> Damn! Dropped!
> 
> Frediano
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel


More information about the Spice-devel mailing list