Jeff King [off-list ref] writes:
However, each case arm of the switch falls through to the
one below it. This is pointless (we know that a command
starting with 'b' does not need to check any of the commands
in the 'c' block), and it makes gcc's -Wimplicit-fallthrough
complain.
Wow, this is an embarassment. The code tries to cleverly optimize
it, and then fails miserably.
The updated one reads good. Thanks.