Move the check_new() test to the start of sv_size()
authorNicholas Clark <nick@ccl4.org>
Thu, 21 Apr 2011 11:19:08 +0000 (12:19 +0100)
committerNicholas Clark <nick@ccl4.org>
Fri, 22 Apr 2011 16:24:23 +0000 (17:24 +0100)
commit81f1c0187fa7bb773d2f2c2e30bc57de03bad30a
tree944601ffc268eea857b4f13e6091789905a87827
parentae12fecdfcfba35764fead55ce5ab99220849421
Move the check_new() test to the start of sv_size()

For now, this requires sv_size() to return new-or-not, but it prepares the way
to move all structure recursion into sv_size(). Currently it's in two places -
sv_size() and total_size().

This resolves two long-standing bugs in typeglobs - total_size() was double
counting entries in typeglobs, and sv_size() was double-counting the PVGV size
if GvEGV() looped back.
CHANGES
Size.xs
t/globs.t