I just ran into some code that overuse semicolons, or use semicolon for different purposes that I am not aware of.
I found semicolons at the end of if-statements and
that's dummy statememt. You sample is identical to
if (x == NULL) { // some code do_something_here(); } /* empty (dummy statement) here */ ; // more code some_other_code_here();