I agree, this looks wrong and is not solving anything.  If ```t``` is required to be initialised, use ```NULL```.  Or even better, move the declaration into the true branch. ```Token *t = token.next;```.