Refactor loops in S_hsplit(), Perl_hv_ksplit() and Perl_ptr_table_split().
authorNicholas Clark <nick@ccl4.org>
Sun, 27 Jun 2010 21:38:58 +0000 (22:38 +0100)
committerNicholas Clark <nick@ccl4.org>
Mon, 28 Jun 2010 15:02:58 +0000 (16:02 +0100)
commit4c9d89c5499b414815601cb441e37d78915fb129
treea9ebe94a060c2dd015e9ac45f79ad2cae76d5c4a
parenta50a3493249ff7bef53bf1c83fa2c08468cc78cf
Refactor loops in S_hsplit(), Perl_hv_ksplit() and Perl_ptr_table_split().

Change from for() to do ... while() loops. Move variable initialisation to
variable declaration. Avoid needing to use the comma operator to allow
multiple statements in for(). Avoid using a continue statement where it
isn't actually needed to change flow control. Avoid relying on the optimiser
to know that the for loop conditional doesn't need testing on the first pass.

A current gcc's optimiser produces identical code despite these changes.
However, for the reasons given I consider the code to be much clearer.
hv.c
sv.c