[alsa-devel] [PATCH alsa-lib 0/1] bug fix and comment on "switch"

Antonio Borneo borneo.antonio at gmail.com
Mon May 14 17:47:58 CEST 2012


On Mon, May 14, 2012 at 10:58 PM, Takashi Iwai <tiwai at suse.de> wrote:
> At Sun, 13 May 2012 00:06:22 +0800,
> Antonio Borneo wrote:
>>
>> Hi,
>>
>> this is a very simple one line patch but the issue was
>> driving me crazy for few days.
>>
>> After this finding, I have reviewed all the "switch"
>> statements in alsa-lib. All well done with proper comment
>> when a "case" falls through the next "case".
>
> Thanks, applied the patch now.

Thanks!

>
>> But there is one "switch" that does not follow the usual
>> scheme.
>> In file src/pcm/pcm_dsnoop.c
>> procedure snd_pcm_dsnoop_delay()
>> following code fragment:
>>
>>         switch(dsnoop->state) {
>>         case SNDRV_PCM_STATE_DRAINING:
>>         case SNDRV_PCM_STATE_RUNNING:
>>                 err = snd_pcm_dsnoop_sync_ptr(pcm);
>>                 if (err < 0)
>>                         return err;
>>         case SNDRV_PCM_STATE_PREPARED:
>>         case SNDRV_PCM_STATE_SUSPENDED:
>>                 *delayp = snd_pcm_mmap_capture_hw_avail(pcm);
>>                 return 0;
>>
>> If snd_pcm_dsnoop_sync_ptr() returns no error, execution
>> falls through next "case".
>> It's missing the usual comment
>>                 /* Fall through */
>> to highlight such code behavior.
>> I think the code is correct, but I do not have enough
>> experience on alsa-lib to be sure. Please confirm.
>> In such case, I would suggest adding the comment above.
>
> Yes, the comment should be added.
> Care to send a patch?

I'll send it shortly.

Best Regards
Antonio Borneo


More information about the Alsa-devel mailing list