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

Takashi Iwai tiwai at suse.de
Mon May 14 16:58:49 CEST 2012


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.

> 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?


Takashi


More information about the Alsa-devel mailing list