This is a good example. Fall-through works when we don't write anything. Without comment, reader can't see whether this code is correct or mistake.
飯尾淳「C言語によるスーパーLinuxプログラミング」、ソフトバンククリエイティブ、2011、p.112 Column10 フォールスルー ... ただし、フォールスルーの活用は1点、注意が必要です。 フォールスルーとして意図的にbreak文を省略したのか、プログラマーのミスでbreak文が省略されているのか、 プログラムのロジックから区別することができません。 したがってフォールスルーを使う場合には、コメントでそれがわかるように書いておくべきでしょう。