And I'll repeat myself.
Those variables are assigned to in some (but not all) branches,
but those assigned values are *never* used. So assigning NULL to them in
the remaining branch is purely cosmetic, to shut up spurious compiler
Thus, the current situation is that:
* the code is logically correct, in that the variables can never be used
* In order to shut up harmless warnings with gcc etc, the PERL_UNUSED_VAR
Under your proposed patch,
* the code performs two logically unnecessary initialisations each time
round the loop;
* shuts up a harmless warning with OpenWatcom;
* re-introduces a harmless warning with gcc etc
So the net effect of your patch is:
* makes no logical change to the code;
* makes the code slightly slower;
* makes it generate harmless warnings on common compilers while silencing
a harmless warning on an obscure compiler.
More than any other time in history, mankind faces a crossroads. One path
leads to despair and utter hopelessness. The other, to total extinction.
Let us pray we have the wisdom to choose correctly.
-- Woody Allen