diff options
author | Jan Dubois <jand@activestate.com> | 2010-10-25 10:23:04 -0700 |
---|---|---|
committer | Jan Dubois <jand@activestate.com> | 2010-10-25 10:23:51 -0700 |
commit | ea37b99e78f0d185369ee23611166669880576c6 (patch) | |
tree | 8ad2cd3ad25a47a2f2a1ed4fdcff783070d4cd52 /cpan | |
parent | 4019471ab8ddebeb44293629dde165abe0dbb752 (diff) | |
download | perl-ea37b99e78f0d185369ee23611166669880576c6.tar.gz |
For PROXYSUBS, tables may sometimes have no entries.
The reason being that all entries in the tables are guarded
with #ifdef, so if none of the symbols are defined, then we
still end up with an empty table. This actually happens in
the POSIX module on Windows for the "yes" table.
This reverts commit c553cca0 and changes based on it.
Diffstat (limited to 'cpan')
-rw-r--r-- | cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm index 0c040023f4..545d3221a0 100644 --- a/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm +++ b/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm @@ -135,18 +135,20 @@ sub boottime_iterator { if ($push) { return sprintf <<"EOBOOT", &$generator(&$extractor($iterator)); - do { + while ($iterator->name) { he = $subname($athx $hash, $iterator->name, $iterator->namelen, %s); av_push(push, newSVhek(HeKEY_hek(he))); - } while ((++$iterator)->name); + ++$iterator; + } EOBOOT } else { return sprintf <<"EOBOOT", &$generator(&$extractor($iterator)); - do { + while ($iterator->name) { $subname($athx $hash, $iterator->name, $iterator->namelen, %s); - } while ((++$iterator)->name); + ++$iterator; + } EOBOOT } } |