do{}while(0)は普通に使うやろ
特にマクロで
どこが変態やねん!