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

Frediano Ziglio fziglio at redhat.com
Thu Feb 2 16:29:37 UTC 2017


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);
     spice_marshall_SpiceMsgAudioVolume(m, vol);
 
     red_channel_client_begin_send_message(rcc);
-- 
2.9.3



More information about the Spice-devel mailing list