From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JtPcU-0006OE-Q9 for qemu-devel@nongnu.org; Tue, 06 May 2008 12:02:22 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JtPcT-0006NP-4G for qemu-devel@nongnu.org; Tue, 06 May 2008 12:02:22 -0400 Received: from [199.232.76.173] (port=46039 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JtPcS-0006NK-SV for qemu-devel@nongnu.org; Tue, 06 May 2008 12:02:20 -0400 Received: from fmmailgate01.web.de ([217.72.192.221]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JtPcS-0004tc-6D for qemu-devel@nongnu.org; Tue, 06 May 2008 12:02:20 -0400 Received: from smtp07.web.de (fmsmtp07.dlan.cinetic.de [172.20.5.215]) by fmmailgate01.web.de (Postfix) with ESMTP id 5D014DE078D7 for ; Tue, 6 May 2008 18:02:19 +0200 (CEST) Received: from [88.64.11.101] (helo=[192.168.1.198]) by smtp07.web.de with asmtp (TLSv1:AES256-SHA:256) (WEB.DE 4.109 #226) id 1JtPcR-0000e3-00 for qemu-devel@nongnu.org; Tue, 06 May 2008 18:02:19 +0200 Message-ID: <4820810A.6060607@web.de> Date: Tue, 06 May 2008 18:02:18 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <200805061625.39329.paul@codesourcery.com> In-Reply-To: <200805061625.39329.paul@codesourcery.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: jan.kiszka@web.de Subject: [Qemu-devel] Re: [4363] MusicPal: fix gcc4 build (Jan Kiszka). Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Paul Brook wrote: >> - int16_t *codec_buffer, *mem_buffer; >> + int16_t *codec_buffer; >> + void *mem_buffer; >> ... >> + mem_buffer += 2; > > I really dislike doing arithmetic on a void*. Only fair. Version below should be better (in several ways). Index: qemu/hw/musicpal.c =================================================================== --- qemu/hw/musicpal.c (Revision 4365) +++ qemu/hw/musicpal.c (Arbeitskopie) @@ -256,7 +256,7 @@ static void audio_callback(void *opaque, { musicpal_audio_state *s = opaque; int16_t *codec_buffer; - void *mem_buffer; + int8_t *mem_buffer; int pos, block_size; if (!(s->playback_mode & MP_AUDIO_PLAYBACK_EN)) @@ -277,8 +277,8 @@ static void audio_callback(void *opaque, if (s->playback_mode & MP_AUDIO_MONO) { codec_buffer = wm8750_dac_buffer(s->wm, block_size >> 1); for (pos = 0; pos < block_size; pos += 2) { - *codec_buffer++ = *(uint16_t *)mem_buffer; - *codec_buffer++ = *(uint16_t *)mem_buffer; + *codec_buffer++ = *(int16_t *)mem_buffer; + *codec_buffer++ = *(int16_t *)mem_buffer; mem_buffer += 2; } } else @@ -288,14 +288,14 @@ static void audio_callback(void *opaque, if (s->playback_mode & MP_AUDIO_MONO) { codec_buffer = wm8750_dac_buffer(s->wm, block_size); for (pos = 0; pos < block_size; pos++) { - *codec_buffer++ = cpu_to_le16(256 * *(int8_t *)mem_buffer); - *codec_buffer++ = cpu_to_le16(256 * *(int8_t *)mem_buffer++); + *codec_buffer++ = cpu_to_le16(256 * *mem_buffer); + *codec_buffer++ = cpu_to_le16(256 * *mem_buffer++); } } else { codec_buffer = wm8750_dac_buffer(s->wm, block_size >> 1); for (pos = 0; pos < block_size; pos += 2) { - *codec_buffer++ = cpu_to_le16(256 * *(int8_t *)mem_buffer++); - *codec_buffer++ = cpu_to_le16(256 * *(int8_t *)mem_buffer++); + *codec_buffer++ = cpu_to_le16(256 * *mem_buffer++); + *codec_buffer++ = cpu_to_le16(256 * *mem_buffer++); } } }