Re: [PATCH] azt3328: repair breakage (Re: [PATCH 1/1] SOUND: azt3328,fix broken AZF_FMT_XLATE macro)

From: Jiri Slaby
Date: Tue Jan 25 2011 - 03:23:49 EST


On 01/25/2011 06:46 AM, Andreas Mohr wrote:
> It is also quite interesting to note that this rather uncommon language syntax
> (do...while(0) within switch scope) compiled cleanly without issue
> (no warnings).

Note that the switch block is the same like the others and case and
default and very similar to goto labels. You can even do:
switch (x) {
int abc;
{ case 5: abc = 7; break; }
do { case 3: abc = 5; break; } while (0);
while (1) {
printf("%d\n", abc);
default:
abc = 1;
}
}
And check what it will do for x == 3, 5, and others :).

regards,
--
js
suse labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/