--- perl-5.8.8.orig/reentr.h
+++ perl-5.8.8/reentr.h
@@ -2,7 +2,7 @@
*
* reentr.h
*
- * Copyright (C) 2002, 2003, 2005 by Larry Wall and others
+ * Copyright (C) 2002, 2003, 2005, 2006 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
--- perl-5.8.8.orig/patches-applied
+++ perl-5.8.8/patches-applied
@@ -0,0 +1,56 @@
+debian/patches/00_fix_dynaloader
+debian/patches/01_fix_insecure_tempfiles
+debian/patches/02_fix_verbatim_pod
+debian/patches/03_fix_net_nntp
+debian/patches/04_fix_reentr_erange
+debian/patches/05_fix_sparc_fpic
+debian/patches/06_fix_getopt_long_doc
+debian/patches/07_fix_pod_man_pipe
+debian/patches/08_fix_perlsec_pod
+debian/patches/09_fix_installperl
+debian/patches/10_fix_h2ph_include_quote
+debian/patches/10_fix_installsitescript
+debian/patches/11_fix_processPL
+debian/patches/12_fix_file_spec
+debian/patches/12_fix_net_cmd
+debian/patches/13_fix_perl5db
+debian/patches/14_fix_net_pop3
+debian/patches/15_fix_net_groff_minus-hyphen
+debian/patches/16_fix_net_smtp_docs
+debian/patches/17_fix_makedepend
+debian/patches/17_fix_file_path
+debian/patches/17_fix_file_path_chdir
+debian/patches/18_fix_CGI_upload
+debian/patches/19_fix_CPAN_abort_no_tty_config
+debian/patches/20_fix_taint_study_hang
+debian/patches/21_fix_pod2man_escape_ix
+debian/patches/22_fix_pod2html_dl
+debian/patches/23_fix_tpj13_typo
+debian/patches/24_fix_perlcc_nv_save
+debian/patches/25_fix_defined_x86_64
+debian/patches/26_fix_regcomp_overflow
+debian/patches/48_utf8_heap_overflow
+debian/patches/50_debian_use_gdbm
+debian/patches/51_debian_ld_run_path
+debian/patches/52_debian_extutils_hacks
+debian/patches/53_debian_mod_paths
+debian/patches/54_debian_perldoc-r
+debian/patches/55_debian_fakeroot
+debian/patches/56_debian_doc_info
+debian/patches/57_debian_prune_libs
+debian/patches/58_debian_cpan_config_path
+debian/patches/59_debian_cpan_version_check
+debian/patches/60_debian_libnet_config_path
+debian/patches/61_debian_instmodsh_doc
+debian/patches/62_debian_cpan_definstalldirs
+debian/patches/63_debian_ppc_optim
+debian/patches/64_debian_enc2xs_inc
+debian/patches/65_debian_perl_synopsis
+debian/patches/66_debian_arm_optim
+debian/patches/67_debian_missing_hosts
+debian/patches/68_debian_arm_fp
+debian/patches/69_debian_db_file_ver
+debian/patches/70_debian_errno_ver
+debian/patches/71_debian_m68k_time_hires
+debian/patches/72_debian_drop_c9x_warning
+debian/patches/73_debian_hppa_mips_optim
--- perl-5.8.8.orig/t/uni/tr_utf8.t
+++ perl-5.8.8/t/uni/tr_utf8.t
@@ -31,7 +31,7 @@
}
use strict;
-use Test::More tests => 7;
+use Test::More tests => 8;
use encoding 'utf8';
@@ -67,4 +67,12 @@
$line =~ tr/bcdeghijklmnprstvwxyz$02578/בצדעגהיײקלמנפּרסטװשכיזשױתײחא/;
is($line, "aבצדעfגהיײקלמנoפqּרסuטװשכיזש1ױ34ת6ײח9", "[perl #16843]");
}
+
+{
+ # [perl #40641]
+ my $str = qq/Gebääääääääääääääääääääude/;
+ my $reg = qr/Gebääääääääääääääääääääude/;
+ ok($str =~ /$reg/, "[perl #40641]");
+}
+
__END__
--- perl-5.8.8.orig/t/lib/h2ph.pht
+++ perl-5.8.8/t/lib/h2ph.pht
@@ -28,21 +28,21 @@
eval q((($a) < ($b) ? ($a) : ($b)));
}' unless defined(&MIN);
}
- if(!(defined (defined(&__SOMETHING_MORE_IMPORTANT) ? &__SOMETHING_MORE_IMPORTANT : 0))) {
+ if(!(defined (defined(&__SOMETHING_MORE_IMPORTANT) ? &__SOMETHING_MORE_IMPORTANT : undef))) {
}
- elsif(!(defined (defined(&__SOMETHING_REALLY_REALLY_IMPORTANT) ? &__SOMETHING_REALLY_REALLY_IMPORTANT : 0))) {
+ elsif(!(defined (defined(&__SOMETHING_REALLY_REALLY_IMPORTANT) ? &__SOMETHING_REALLY_REALLY_IMPORTANT : undef))) {
die("Nup, can't go on");
} else {
eval 'sub EVERYTHING_IS_OK () {1;}' unless defined(&EVERYTHING_IS_OK);
}
undef(&WHATEVER) if defined(&WHATEVER);
- if((!((defined (defined(&__SOMETHING_TRIVIAL) ? &__SOMETHING_TRIVIAL : 0) && defined (defined(&__SOMETHING_LESS_SO) ? &__SOMETHING_LESS_SO : 0))) || defined (defined(&__SOMETHING_OVERPOWERING) ? &__SOMETHING_OVERPOWERING : 0))) {
+ if((!((defined (defined(&__SOMETHING_TRIVIAL) ? &__SOMETHING_TRIVIAL : undef) && defined (defined(&__SOMETHING_LESS_SO) ? &__SOMETHING_LESS_SO : undef))) || defined (defined(&__SOMETHING_OVERPOWERING) ? &__SOMETHING_OVERPOWERING : undef))) {
eval 'sub WHATEVER () {6;}' unless defined(&WHATEVER);
}
- elsif(!(defined (defined(&__SOMETHING_TRIVIAL) ? &__SOMETHING_TRIVIAL : 0)) ) {
+ elsif(!(defined (defined(&__SOMETHING_TRIVIAL) ? &__SOMETHING_TRIVIAL : undef)) ) {
eval 'sub WHATEVER () {7;}' unless defined(&WHATEVER);
}
- elsif(!(defined (defined(&__SOMETHING_LESS_SO) ? &__SOMETHING_LESS_SO : 0)) ) {
+ elsif(!(defined (defined(&__SOMETHING_LESS_SO) ? &__SOMETHING_LESS_SO : undef)) ) {
eval 'sub WHATEVER () {8;}' unless defined(&WHATEVER);
} else {
eval 'sub WHATEVER () {1000;}' unless defined(&WHATEVER);
--- perl-5.8.8.orig/Configure
+++ perl-5.8.8/Configure
@@ -1289,8 +1289,7 @@
: List of libraries we want.
: If anyone needs extra -lxxx, put those in a hint file.
-libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
+libswanted='gdbm gdbm_compat db dl m c crypt'
: We probably want to search /usr/shlib before most other libraries.
: This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
@@ -4776,19 +4775,19 @@
echo "Nope, it doesn't, but that's ok." 2>&1
fi
- echo "Checking if your compiler accepts -Wdeclaration-after-statement" 2>&1
- echo 'int main(void) { return 0; }' > gcctest.c
- if $cc -Wdeclaration-after-statement -o gcctest gcctest.c; then
- echo "Yes, it does." 2>&1
- case "$ccflags" in
- *-Wdeclaration-after-statement*)
- echo "Leaving current flags $ccflags alone." 2>&1
- ;;
- *) dflt="$dflt -Wdeclaration-after-statement" ;;
- esac
- else
- echo "Nope, it doesn't, but that's ok." 2>&1
- fi
+# echo "Checking if your compiler accepts -Wdeclaration-after-statement" 2>&1
+# echo 'int main(void) { return 0; }' > gcctest.c
+# if $cc -Wdeclaration-after-statement -o gcctest gcctest.c; then
+# echo "Yes, it does." 2>&1
+# case "$ccflags" in
+# *-Wdeclaration-after-statement*)
+# echo "Leaving current flags $ccflags alone." 2>&1
+# ;;
+# *) dflt="$dflt -Wdeclaration-after-statement" ;;
+# esac
+# else
+# echo "Nope, it doesn't, but that's ok." 2>&1
+# fi
;;
esac
;;
@@ -20024,7 +20023,7 @@
eval $inhdr
: see if ndbm.h is available
-set ndbm.h t_ndbm
+set gdbm-ndbm.h t_ndbm
eval $inhdr
case "$t_ndbm" in
@@ -20875,7 +20874,7 @@
;;
*) case "$usedl" in
$define|true|[yY]*)
- set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
+ set X `echo " $libs " | sed -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldb @ @'`
shift
perllibs="$*"
;;
--- perl-5.8.8.orig/debian/mkprovides
+++ perl-5.8.8/debian/mkprovides
@@ -0,0 +1,13 @@
+#!./perl.static -w
+
+#
+# Create perlapi- provides substvar
+#
+
+BEGIN { unshift @INC, 'lib' }
+use strict;
+use Config;
+
+print +(join ', ', map "perlapi-$_",
+ sort $Config{version},
+ split ' ', $Config{inc_version_list}), "\n";
--- perl-5.8.8.orig/debian/libcgi-fast-perl.README.Debian
+++ perl-5.8.8/debian/libcgi-fast-perl.README.Debian
@@ -0,0 +1,5 @@
+The CGI::Fast module is distributed and built with perl, although as
+it requires the FCGI module (not part of perl) to work it has been
+split into a separate package.
+
+ -- Brendan O'Dea , Fri, 26 Jan 2001 20:03:51 +1100
--- perl-5.8.8.orig/debian/perl-base.files.shared
+++ perl-5.8.8/debian/perl-base.files.shared
@@ -0,0 +1 @@
+usr/lib/libperl.so.*
--- perl-5.8.8.orig/debian/libperl5.8.postinst
+++ perl-5.8.8/debian/libperl5.8.postinst
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]
+then
+ ldconfig
+fi
+
+exit 0
--- perl-5.8.8.orig/debian/perl-doc.moduledocs
+++ perl-5.8.8/debian/perl-doc.moduledocs
@@ -0,0 +1,7 @@
+CGI/eg CGI
+CPAN/PAUSE2003.pub CPAN
+CPAN/SIGNATURE CPAN
+ExtUtils/NOTES ExtUtils
+ExtUtils/PATCHING ExtUtils
+Net/Config.eg Net
+Net/Hostname.eg Net
--- perl-5.8.8.orig/debian/libperl5.8.files.static
+++ perl-5.8.8/debian/libperl5.8.files.static
@@ -0,0 +1 @@
+usr/lib/libperl.so.*
--- perl-5.8.8.orig/debian/rename
+++ perl-5.8.8/debian/rename
@@ -0,0 +1,144 @@
+#!/usr/bin/perl -w
+#
+# This script was developed by Robin Barker (Robin.Barker@npl.co.uk),
+# from Larry Wall's original script eg/rename from the perl source.
+#
+# This script is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+#
+# Larry(?)'s RCS header:
+# RCSfile: rename,v Revision: 4.1 Date: 92/08/07 17:20:30
+#
+# $RCSfile: rename,v $$Revision: 1.5 $$Date: 1998/12/18 16:16:31 $
+#
+# $Log: rename,v $
+# Revision 1.5 1998/12/18 16:16:31 rmb1
+# moved to perl/source
+# changed man documentation to POD
+#
+# Revision 1.4 1997/02/27 17:19:26 rmb1
+# corrected usage string
+#
+# Revision 1.3 1997/02/27 16:39:07 rmb1
+# added -v
+#
+# Revision 1.2 1997/02/27 16:15:40 rmb1
+# *** empty log message ***
+#
+# Revision 1.1 1997/02/27 15:48:51 rmb1
+# Initial revision
+#
+
+use strict;
+
+use Getopt::Long;
+Getopt::Long::Configure('bundling');
+
+my ($verbose, $no_act, $force, $op);
+
+die "Usage: rename [-v] [-n] [-f] perlexpr [filenames]\n"
+ unless GetOptions(
+ 'v|verbose' => \$verbose,
+ 'n|no-act' => \$no_act,
+ 'f|force' => \$force,
+ ) and $op = shift;
+
+$verbose++ if $no_act;
+
+if (!@ARGV) {
+ print "reading filenames from STDIN\n" if $verbose;
+ @ARGV = ;
+ chop(@ARGV);
+}
+
+for (@ARGV) {
+ my $was = $_;
+ eval $op;
+ die $@ if $@;
+ next if $was eq $_; # ignore quietly
+ if (-e $_ and !$force)
+ {
+ warn "$was not renamed: $_ already exists\n";
+ }
+ elsif ($no_act or rename $was, $_)
+ {
+ print "$was renamed as $_\n" if $verbose;
+ }
+ else
+ {
+ warn "Can't rename $was $_: $!\n";
+ }
+}
+
+__END__
+
+=head1 NAME
+
+rename - renames multiple files
+
+=head1 SYNOPSIS
+
+B S<[ B<-v> ]> S<[ B<-n> ]> S<[ B<-f> ]> I S<[ I ]>
+
+=head1 DESCRIPTION
+
+C
+renames the filenames supplied according to the rule specified as the
+first argument.
+The I
+argument is a Perl expression which is expected to modify the C<$_>
+string in Perl for at least some of the filenames specified.
+If a given filename is not modified by the expression, it will not be
+renamed.
+If no filenames are given on the command line, filenames will be read
+via standard input.
+
+For example, to rename all files matching C<*.bak> to strip the extension,
+you might say
+
+ rename 's/\.bak$//' *.bak
+
+To translate uppercase names to lower, you'd use
+
+ rename 'y/A-Z/a-z/' *
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<-v>, B<--verbose>
+
+Verbose: print names of files successfully renamed.
+
+=item B<-n>, B<--no-act>
+
+No Action: show what files would have been renamed.
+
+=item B<-f>, B<--force>
+
+Force: overwrite existing files.
+
+=back
+
+=head1 ENVIRONMENT
+
+No environment variables are used.
+
+=head1 AUTHOR
+
+Larry Wall
+
+=head1 SEE ALSO
+
+mv(1), perl(1)
+
+=head1 DIAGNOSTICS
+
+If you give an invalid Perl expression you'll get a syntax error.
+
+=head1 BUGS
+
+The original C did not check for the existence of target filenames,
+so had to be used with care. I hope I've fixed that (Robin Barker).
+
+=cut
--- perl-5.8.8.orig/debian/perl.perldoc
+++ perl-5.8.8/debian/perl.perldoc
@@ -0,0 +1,4 @@
+#!/bin/sh
+# place-holder, diverted by perl-doc
+echo You need to install the perl-doc package to use this program. >&2
+exit 1
--- perl-5.8.8.orig/debian/perl.files
+++ perl-5.8.8/debian/perl.files
@@ -0,0 +1,2 @@
+usr/bin
+usr/lib/perl
--- perl-5.8.8.orig/debian/rules
+++ perl-5.8.8/debian/rules
@@ -0,0 +1,386 @@
+#!/usr/bin/make -f
+
+#
+# debian/rules for perl.
+#
+
+export SHELL = /bin/sh
+
+fullversion := $(shell /bin/bash debian/config.debian --full-version)
+version := $(shell /bin/bash debian/config.debian --version)
+installtype := $(shell /bin/bash debian/config.debian --install-type)
+test_target := $(shell /bin/bash debian/config.debian --test-target)
+strip := $(shell /bin/bash debian/config.debian --strip)
+srcdir := $(shell pwd)
+packages := $(shell sed -n 's/^Package: *\(.*\)/\1/p' debian/control)
+tmp = debian/tmp
+bin = $(tmp)/usr/bin
+man = $(tmp)/usr/share/man
+lib = $(tmp)/usr/lib/perl/$(version)
+share = $(tmp)/usr/share/perl/$(version)
+build = debian/build
+debug = $(build)/perl-debug/usr/lib/debug
+patches = patches-applied
+
+checkdir = test -d debian
+checkroot = test `id -u` -eq 0
+checkperl = $(SHELL) debian/checkperl
+
+# control file substitutions
+subst_upstream = -VUpstream-Version=$(fullversion)
+subst_perlapi = -Vperlapi:Provides="`./perl.static debian/mkprovides`"
+
+build: build-stamp
+install: install-stamp
+
+build-stamp: perl.static perl.debug libperl.so.$(fullversion)
+ touch $@
+
+config.over: debian/config.over
+ cp $? $@
+
+perl.static: config.over
+ $(checkdir)
+ rm -f libperl.so* # must be built last
+ -$(MAKE) distclean
+ $(SHELL) debian/config.debian --static
+ $(MAKE) perl $(test_target)
+ mv libperl.a libperl-static
+ mv perl perl.static
+
+perl.debug: config.over
+ $(checkdir)
+ rm -f libperl.so* # must be built last
+ -$(MAKE) distclean
+ $(SHELL) debian/config.debian --debug
+ $(MAKE) perl
+ mv libperl.a libperl-debug
+ mv perl perl.debug
+
+libperl.so.$(fullversion): config.over
+ $(checkdir)
+ -$(MAKE) distclean
+ $(SHELL) debian/config.debian --shared
+ $(MAKE) SHRPLDFLAGS='$$(LDDLFLAGS) -Wl,-soname,libperl.so.$(version)' $@
+ ln -s libperl.so.$(fullversion) libperl.so.$(version)
+ ln -s libperl.so.$(version) libperl.so
+ $(MAKE) all $(test_target) || { rm -f libperl.so*; exit 1; }
+
+clean:
+ $(checkdir)
+ $(checkroot)
+ test -f $(patches) # maintainer sanity check
+ -$(MAKE) distclean
+ rm -rf config.over perl.static perl.debug libperl-static \
+ libperl-debug libperl.so* build-stamp install-stamp \
+ t/auto debian/shlibs.local debian/perl-base.shlibs \
+ debian/libperl$(version).shlibs debian/substvars \
+ debian/files debian/list.tmp $(tmp) $(build)
+
+install-stamp: build-stamp
+ $(checkdir)
+ $(checkroot)
+ $(checkperl)
+ rm -rf $(tmp) $(build)
+
+ $(MAKE) install
+ # remove temporary prefix on install vars and switch man
+ # extensions to 1p and 3pm for vendor module installs
+ ./perl.static -i -pe 's!$(srcdir)/$(tmp)/!/! if /install/;' \
+ -e 's/^(man1ext=).*/$$1'\''1p'\''/;' \
+ -e 's/^(man3ext=).*/$$1'\''3pm'\''/;' \
+ $(lib)/Config.pm $(lib)/Config_heavy.pl
+
+ # convert required header files
+ -cd /usr/include; $(srcdir)/perl.static -I $(srcdir)/lib \
+ $(srcdir)/utils/h2ph -a -d $(srcdir)/$(lib) \
+ `cat $(srcdir)/debian/headers`
+
+ # fix up generated headers
+ ./perl.static -Ilib debian/fixheaders $(lib)
+
+ # simple wrapper around Errno module
+ cp debian/errno.ph $(lib)
+
+ # Verify that the headers are usable
+ for ph in `cat $(srcdir)/debian/headers | sed -e 's/\.h$$/.ph/'`; do \
+ $(srcdir)/perl.static -I $(srcdir)/$(lib) -e \
+ "print '"$$ph": '; require '"$$ph"'; print \"ok\n\";" \
+ || exit 1; \
+ done
+
+ # remove some cruft
+ rm -f $(bin)/suidperl
+ rm -f $(lib)/.packlist
+ rm -f $(lib)/CORE/sperl.o
+
+ # installperl copies the symlinks as a files
+ rm -f $(lib)/CORE/libperl.so $(lib)/CORE/libperl.so.$(version)
+
+ # remove versioned binary, relink after moving files
+ rm -f $(bin)/perl$(fullversion)
+
+ # relocate perl libraries and create links
+ cp libperl-static $(tmp)/usr/lib/libperl.a
+ cp libperl-debug $(tmp)/usr/lib/libperld.a
+ mv $(lib)/CORE/libperl.so.$(fullversion) $(tmp)/usr/lib
+
+ ln -s libperl.so.$(fullversion) $(tmp)/usr/lib/libperl.so.$(version)
+ ln -s libperl.so.$(version) $(tmp)/usr/lib/libperl.so
+
+ # move to full version (symlinks created in perl-base below)
+ mv $(lib) $(tmp)/usr/lib/perl/$(fullversion)
+ mv $(share) $(tmp)/usr/share/perl/$(fullversion)
+
+ifeq ($(installtype),static)
+ cp perl.static $(bin)/perl
+endif
+
+ # install debug binary as debugperl
+ cp perl.debug $(bin)/debugperl
+
+ # split packages
+ for p in $(packages); \
+ do \
+ test -f debian/$$p.files || exit 1; \
+ mkdir -p $(build)/$$p; \
+ (cd $(tmp); \
+ find `cat ../$$p.files ../$$p.files.$(installtype) 2>/dev/null` \
+ ! -type d) >debian/list.tmp; \
+ (cd $(tmp); cpio -vdumpl ../build/$$p) &1 | \
+ grep -v ' linked to '; \
+ (cd $(tmp); ../../perl.static -nle unlink) &2; \
+ fi; \
+ done
+
+ # remove some linked man pages (symlinked later and cause
+ # problems as-is when compressing)
+ rm -f $(build)/perl/usr/share/man/man1/pstruct.1 \
+ $(build)/perl/usr/share/man/man1/psed.1
+
+ # the diagnostics module needs perldiag.pod
+ mkdir $(build)/perl-modules/usr/share/perl/$(fullversion)/pod
+ mv $(build)/perl-doc/usr/share/perl/$(fullversion)/pod/perldiag.pod \
+ $(build)/perl-modules/usr/share/perl/$(fullversion)/pod
+
+ # copy dummy perldoc to perl package
+ cp debian/perl.perldoc $(build)/perl/usr/bin/perldoc
+ chmod 755 $(build)/perl/usr/bin/perldoc
+
+ # install rename script to bin (as prename, alternative configured)
+ cp debian/rename $(build)/perl/usr/bin/prename
+ chmod 755 $(build)/perl/usr/bin/prename
+
+ ./perl.static -Ilib $(build)/perl/usr/bin/pod2man --official \
+ debian/rename >$(build)/perl/usr/share/man/man1/prename.1
+
+ # install docs
+ for p in $(packages); \
+ do \
+ doc=$(build)/$$p/usr/share/doc; \
+ test -d $$doc || mkdir -p $$doc; \
+ if test -f debian/$$p.docs; \
+ then \
+ while read src target; \
+ do \
+ d=`expr $$target : '\([^/][^/]*\)'`; \
+ test -d $$doc/$$d || mkdir $$doc/$$d; \
+ cp -p $$src $$doc/$$target; \
+ done $(build)/$$p/DEBIAN/conffiles; \
+ (cd $(build)/$$p; find usr -type f -print | xargs -r md5sum) \
+ >$(build)/$$p/DEBIAN/md5sums; \
+ dpkg-gencontrol -p$$p -isp -P$(build)/$$p $(subst_upstream); \
+ dpkg --build $(build)/$$p ..; \
+ done
+
+# Build architecture-dependent files here.
+binary-arch: build-stamp install-stamp
+ $(checkdir)
+ $(checkroot)
+ifeq ($(installtype),static)
+ echo 'libperl $(version) libperl$(version) (= $${Source-Version})' \
+ >debian/shlibs.local
+
+ echo 'libperl $(version) libperl$(version) (>= $(fullversion))' \
+ >debian/libperl$(version).shlibs
+else
+ echo 'libperl $(version)' >debian/shlibs.local
+ echo 'libperl $(version) libperl$(version) (>= $(fullversion))' \
+ >debian/perl-base.shlibs
+endif
+
+ for p in `./perl.static -l -00ne 'print $$1 if /^Architecture:\s+any/m \
+ and /^Package:\s+(.*)/m' debian/control`; \
+ do \
+ rm -rf $(build)/$$p/DEBIAN debian/substvars; \
+ mkdir $(build)/$$p/DEBIAN; \
+ for c in preinst postinst prerm postrm; \
+ do \
+ test -f debian/$$p.$$c || continue; \
+ cp debian/$$p.$$c $(build)/$$p/DEBIAN/$$c; \
+ chmod 755 $(build)/$$p/DEBIAN/$$c; \
+ done; \
+ test -f debian/$$p.shlibs && cp debian/$$p.shlibs \
+ $(build)/$$p/DEBIAN/shlibs; \
+ (cd $(build)/$$p; find usr -type f -print | xargs -r md5sum) \
+ >$(build)/$$p/DEBIAN/md5sums; \
+ LD_LIBRARY_PATH=$$LD_LIBRARY_PATH$${LD_LIBRARY_PATH:+:}/usr/lib:$(srcdir)/$(build)/libperl$(version)/usr/lib; \
+ find $(build)/$$p/usr -type f \
+ \( -perm +111 -o -name \*.so\* \) -print | \
+ xargs -r dpkg-shlibdeps; \
+ dpkg-gencontrol -p$$p -isp -P$(build)/$$p $(subst_perlapi) $(subst_upstream); \
+ dpkg --build $(build)/$$p ..; \
+ done
+
+binary: binary-indep binary-arch
+
+# maintainer targets
+patch:
+ test ! -f $(patches) # already patched
+ ls debian/patches/* >$(patches)
+ cat `cat $(patches)` | patch -p1 --no-backup-if-mismatch
+
+unpatch:
+ test -f $(patches) # not patched
+ cat `tac $(patches)` | patch -Rp1 --no-backup-if-mismatch
+ rm -f $(patches)
+
+.PHONY: build clean binary-indep binary-arch binary install patch unpatch
--- perl-5.8.8.orig/debian/perl.postinst
+++ perl-5.8.8/debian/perl.postinst
@@ -0,0 +1,21 @@
+#!/bin/sh -e
+
+if [ "$1" = configure ]
+then
+ # The 5.6.0 packages had /usr/share/doc/perl as a symlink to
+ # perl-base, now the reverse.
+ docs=/usr/share/doc
+ if [ -L $docs/perl ] && [ ! -L $docs/perl-base ] && [ -d $docs/perl-base ]
+ then
+ rm -f $docs/perl
+ mv $docs/perl-base $docs/perl
+ ln -s perl $docs/perl-base
+ fi
+
+ # util-linux has an alternate rename
+ update-alternatives --install /usr/bin/rename rename /usr/bin/prename 60 \
+ --slave /usr/share/man/man1/rename.1.gz rename.1.gz \
+ /usr/share/man/man1/prename.1.gz
+fi
+
+exit 0
--- perl-5.8.8.orig/debian/perl.prerm
+++ perl-5.8.8/debian/perl.prerm
@@ -0,0 +1,8 @@
+#!/bin/sh -e
+
+if [ "$1" != upgrade ]
+then
+ update-alternatives --remove rename /usr/bin/prename
+fi
+
+exit 0
--- perl-5.8.8.orig/debian/control
+++ perl-5.8.8/debian/control
@@ -0,0 +1,124 @@
+Source: perl
+Section: perl
+Priority: standard
+Maintainer: Ubuntu Core Developers
+XSBC-Original-Maintainer: Brendan O'Dea
+Standards-Version: 3.6.2
+Build-Depends: file, cpio (>= 2.6-5), libdb4.6-dev, libgdbm-dev, netbase [!hurd-i386], gcc (>= 4:4.2), procps | hurd
+
+Package: perl-base
+Essential: yes
+Priority: required
+Architecture: any
+Pre-Depends: ${shlibs:Depends}
+Conflicts: autoconf2.13 (<< 2.13-45), libscalar-list-utils-perl (<< 1:1.18-1)
+Replaces: perl (<< 5.8.8-5), perl-modules (<< 5.8.8-8), libperl5.8 (<< 5.8.0-20), libscalar-list-utils-perl, libclass-multimethods-perl (<< 1.70-4)
+Provides: perl5-base, ${perlapi:Provides}, libscalar-list-utils-perl
+Suggests: perl
+Description: The Pathologically Eclectic Rubbish Lister
+ A scripting language with delusions of full language-hood, Perl is used
+ in many system scripts and utilities.
+ .
+ This is a stripped down Perl with only essential libraries. To make
+ full use of Perl, you'll want to install the `perl', `perl-modules' and
+ optionally `perl-doc' packages which supplement this one.
+
+Package: libcgi-fast-perl
+Priority: optional
+Architecture: all
+Depends: perl (>= ${Source-Version}), libfcgi-perl
+Description: CGI::Fast Perl module
+ CGI::Fast is a subclass of the CGI object created by CGI.pm. It is
+ specialized to work well with the Open Market FastCGI standard, which
+ greatly speeds up CGI scripts by turning them into persistently running
+ server processes. Scripts that perform time-consuming initialization
+ processes, such as loading large modules or opening persistent database
+ connections, will see large performance improvements.
+
+Package: perl-doc
+Section: doc
+Priority: optional
+Architecture: all
+Depends: perl (>= ${Upstream-Version}-1)
+Suggests: man-browser, groff
+Description: Perl documentation
+ Perl manual pages, POD documentation and the `perldoc' program. If you are
+ writing Perl programs, you almost certainly need this.
+
+Package: perl-modules
+Priority: standard
+Architecture: all
+Depends: perl (>= 5.8.8-8)
+Conflicts: libpod-parser-perl (<< 1.32-1), libansicolor-perl (<< 1.10-1), libfile-temp-perl (<< 0.16-1), libnet-perl (<= 1:1.19-3), libattribute-handlers-perl (<< 0.78.02-1), libcgi-pm-perl (<< 3.15-1), libi18n-langtags-perl (<< 0.35-1), liblocale-maketext-perl (<< 1.08-1), libmath-bigint-perl (<< 1.77-1), libnet-ping-perl (<< 2.31-1), libtest-harness-perl (<< 2.56-1), libtest-simple-perl (<< 0.62-1), liblocale-codes-perl (<< 2.06.1-1)
+Replaces: libpod-parser-perl, libansicolor-perl, libfile-temp-perl, libnet-perl, libattribute-handlers-perl, libcgi-pm-perl, libi18n-langtags-perl, liblocale-maketext-perl, libmath-bigint-perl, libnet-ping-perl, libtest-harness-perl, libtest-simple-perl, liblocale-codes-perl
+Provides: libpod-parser-perl, libansicolor-perl, libfile-temp-perl, libnet-perl, libattribute-handlers-perl, libcgi-pm-perl, libi18n-langtags-perl, liblocale-maketext-perl, libmath-bigint-perl, libnet-ping-perl, libtest-harness-perl, libtest-simple-perl, liblocale-codes-perl
+Description: Core Perl modules
+ Architecture independent Perl modules. These modules are part of Perl and
+ required if the `perl' package is installed.
+
+Package: perl-debug
+Priority: optional
+Architecture: any
+Depends: perl (= ${Source-Version}), ${shlibs:Depends}
+Description: Debug-enabled Perl interpreter
+ debugperl provides a debug-enabled version of Perl which can produce
+ extensive information about the interpreter as it compiles and executes
+ a program (see the -D switch in perlrun(1)).
+ .
+ Note that this package is primarily of use in debugging *Perl* rather
+ than perl programs, which may be traced/debugged using the standard
+ perl binary using the -d switch (see perldebug(1)).
+
+Package: perl-suid
+Priority: optional
+Architecture: any
+Depends: perl (= ${Source-Version}), ${shlibs:Depends}
+Description: Runs setuid Perl scripts
+ suidperl is a setuid root helper program which is invoked by perl when
+ executing scripts with setuid/gid bits set on systems (like linux) which
+ don't have support setuid script execution natively in the kernel.
+ .
+ Usage of this program is now strongly deprecated upstream and support
+ (along with this package) will probably be removed in 5.10.
+
+Package: libperl5.8
+Section: libs
+Priority: optional
+Architecture: any
+Depends: ${shlibs:Depends}, perl-base (= ${Source-Version})
+Conflicts: libapache-mod-perl (<< 1.29.0.1-3)
+Replaces: perl-base (<= 5.8.7-4)
+Description: Shared Perl library
+ This package is required by programs which embed a Perl interpreter to
+ ensure that the correct version of `perl-base' is installed. It
+ additionally contains the shared Perl library on architectures where the
+ perl binary is linked to libperl.a (currently only i386, for performance
+ reasons). In other cases the actual library is in the `perl-base' package.
+
+Package: libperl-dev
+Section: libdevel
+Priority: optional
+Architecture: any
+Depends: perl (= ${Source-Version}), libperl5.8 (= ${Source-Version})
+Description: Perl library: development files
+ Files for developing applications which embed a Perl interpreter and for
+ programs compiled with perlcc.
+
+Package: perl
+Priority: standard
+Architecture: any
+Depends: perl-base (= ${Source-Version}), perl-modules (>= ${Source-Version}), ${shlibs:Depends}
+Conflicts: perl-doc (<< ${Upstream-Version}-1), libdigest-md5-perl (<< 3.07-1), libmime-base64-perl (<< 3.07-1), libtime-hires-perl (<< 1.86-1), libstorable-perl (<< 2.15-1)
+Replaces: perl-base (<< 5.8.8-1), perl-doc (<< 5.8.0-1), perl-modules (<< 5.8.1-1), libdigest-md5-perl, libmime-base64-perl, libtime-hires-perl, libstorable-perl
+Provides: data-dumper, perl5, libdigest-md5-perl, libmime-base64-perl, libtime-hires-perl, libstorable-perl
+Recommends: perl-doc
+Suggests: libterm-readline-gnu-perl | libterm-readline-perl-perl
+Description: Larry Wall's Practical Extraction and Report Language
+ An interpreted scripting language, known among some as "Unix's Swiss
+ Army Chainsaw".
+ .
+ Perl is optimised for scanning arbitrary text files and system
+ administration. It has built-in extended regular expression matching
+ and replacement, a data-flow mechanism to improve security with
+ setuid scripts and is extensible via modules that can interface to C
+ libraries.
--- perl-5.8.8.orig/debian/changelog
+++ perl-5.8.8/debian/changelog
@@ -0,0 +1,2269 @@
+perl (5.8.8-12ubuntu0.4) hardy-security; urgency=low
+
+ * 10_fix_h2ph_include_quote: handle system headers with quotes,
+ thanks to Niko Tyni (LP: #315991).
+ * debian/rules: verify required .ph files during build.
+
+ -- Kees Cook Tue, 13 Jan 2009 17:20:54 -0800
+
+perl (5.8.8-12ubuntu0.3) hardy-security; urgency=low
+
+ * SECURITY UPDATE: race condition in File::Path::rmtree could allow
+ arbitrary file removal and setuid file creation.
+ - 17_fix_file_path: upstream fixes, thanks to Niko Tyni.
+ - 17_fix_file_path_chdir: fix regressions in rmtree symantics.
+ - CVE-2008-5302 CVE-2008-5303
+ * SECURITY UPDATE: crash on 64bit via crafted utf8 encodings.
+ - 48_utf8_heap_overflow: upstream fixes, thanks to Niko Tyni and
+ Florian Weimer.
+ - CVE-2008-1927
+
+ -- Kees Cook Fri, 05 Dec 2008 14:19:35 -0800
+
+perl (5.8.8-12) unstable; urgency=high
+
+ * SECURITY [CVE-2007-5116] (closes: #450456): Apply patch from
+ Will Drewry and Tavis Ormandy of the Google Security Team to fix a
+ UTF-8 related heap overflow in Perl's regular expression compiler,
+ probably allowing attackers to execute arbitrary code by compiling
+ specially crafted regular expressions.
+
+ * Support "nocheck" option in DEB_BUILD_OPTIONS (closes: #449549).
+ * Suppress Configure test for ualarm() so that setitimer() emulation
+ is used (closes: #448965).
+
+ -- Brendan O'Dea Thu, 08 Nov 2007 08:42:01 +1100
+
+perl (5.8.8-11.1) unstable; urgency=high
+
+ * Non-maintainer upload.
+ * Urgency high because of RC bug fix.
+ * Fix h2ph to generate a correct check to distinguish i386/amd64 systems.
+ (Closes: #443785)
+
+ -- Faidon Liambotis Wed, 17 Oct 2007 16:26:33 +0300
+
+perl (5.8.8-11) unstable; urgency=low
+
+ * Remove arm and alpha special cases (closes: #443353).
+
+ -- Brendan O'Dea Fri, 21 Sep 2007 07:24:08 +1000
+
+perl (5.8.8-10) unstable; urgency=low
+
+ * Add support for SH4 arch (closes: #424867).
+ * Add --strip-unneeded when stripping shared objects.
+ * Include stripped debugging symbols for perl and libperl.so in
+ /usr/lib/debug in perl-debug package (closes: #433631).
+
+ * Switch to libdb4.6 (closes: #427517).
+ * Re-instate libcgi-fast-perl, relocating module to vendor directory
+ (closes: #443236).
+
+ -- Brendan O'Dea Thu, 20 Sep 2007 19:47:14 +1000
+
+perl (5.8.8-9) unstable; urgency=low
+
+ * Fix perl-base replaces after move of PVA.pl etc.
+ * Remove ancient conflicts on perl-transition packages (perl-5.004, etc).
+ * Bump dependency of perl-modules on perl to version after move of
+ modules to perl-base (closes: #377385).
+
+ * Pod/Man.pm: preserve quote chars in verbatim paragraphs (closes: #393810).
+ * Fix typo in Locale::Maketext::TPJ13 docs (closes: #320060).
+
+ -- Brendan O'Dea Tue, 18 Sep 2007 17:32:21 +1000
+
+perl (5.8.8-8) unstable; urgency=low
+
+ * Include unicore/{PVA,Exact,Canonical}.pl in perl-base (closes: #437142).
+ * Install libnet.cfg in /etc/perl/Net (closes: #425850).
+ * Update makedepend.SH from perl-current to handle changed
+ preprocessor output from new gcc (closes: #381703).
+
+ * Fix CGI::upload when fileno == 0 (closes: #383378).
+ * Abort CPAN setup if stdin is not a tty (closes: #246511).
+ * Bump gcc build-depends to 4.2 and remove workaround added for register
+ declaration problems in g++ 4.1 (closes: #378399).
+
+ * Replace '_' with '.' in conflict version for libattribute-handlers-perl
+ (closes: #403249).
+
+ * Fix hang when using study + taint (closes: #415296).
+ * Remove libcgi-fast-perl as a separate package (closes: #422592).
+ * Pod/Man.pm: escape backslashes in index entries (closes: #440448).
+ * Pod/Html.pm: Fix handling of nested definition lists (closes: #423168).
+
+ -- Brendan O'Dea Mon, 17 Sep 2007 03:42:48 +1000
+
+perl (5.8.8-7) unstable; urgency=low
+
+ * Apply optimisation for File::Spec->abs2rel suggested by joeyh
+ (closes: #376658).
+
+ * Patch perl5db.pl to cope with lines from a remote socket requiring
+ multiple calls to recv (fixes a problem reported by EPIC folks).
+
+ * Merge NMU.
+
+ [Marc 'HE' Brockschmidt] (closes: #398331)
+ * Completly replace libnet-perl:
+ + Integrate some patches for the Net:: modules
+ + debian/control: Update to replace the last libnet-perl version.
+ + Update configuration mechanism so that /etc/perl/Net/libnet.cfg
+ sources in /etc/libnet.cfg if it exists, otherwise the
+ configuration is stored there. This saves us trouble from
+ converting debconf-managed /etc/libnet.cfg to a dpkg conffile
+
+ -- Brendan O'Dea Sun, 19 Nov 2006 01:07:26 +1100
+
+perl (5.8.8-6.1) unstable; urgency=high
+
+ * Non-maintainer upload to fix Failure To Build From Source in hppa, mips
+ and mipsel architectures.
+ * Added debian/patches/74_debian_hppa_mips_optim, that forces pp_pack.c to
+ be compiled without the delayed-branch optimization option.
+ (Closes: #374396)
+
+ -- Margarita Manterola Sun, 6 Aug 2006 11:50:18 -0300
+
+perl (5.8.8-6) unstable; urgency=low
+
+ * Work around g++-4.1 issue with register parameter declarations.
+ * Add errno.ph (simple wrapper around Errno module).
+
+ -- Brendan O'Dea Sun, 11 Jun 2006 22:38:12 +1000
+
+perl (5.8.8-5) unstable; urgency=low
+
+ * Correctly identify arch-specific modules in ext/ where the .pm
+ files are under lib. Adjust perl-base.files (closes: #369481).
+
+ * Ensure that POSIX/SigAction is kept with the rest of the POSIX
+ module under archlib.
+
+ * Apply upstream change 26536: add INSTALL{VENDOR,SITE}SCRIPT
+ macros (closes: #362949).
+
+ * [Don Armstrong] Revert part of upstream change 24524 to always use
+ PERLRUNINST when building perl modules (closes: #357264).
+
+ -- Brendan O'Dea Sat, 3 Jun 2006 17:06:45 +1000
+
+perl (5.8.8-4) unstable; urgency=low
+
+ * Preserve timestamps in /usr/share/doc.
+ * Revert Sys::Syslog change (see: #345157).
+ * Fix typo in perlsec(1) (closes: #358455).
+ * Change build-dep on procps to "procps|hurd" (closes: #357699).
+
+ -- Brendan O'Dea Wed, 5 Apr 2006 01:30:11 +1000
+
+perl (5.8.8-3) unstable; urgency=low
+
+ * Add build-dep on procps (required by t/op/magic).
+ * Remove trailing \0 from Sys::Syslog messages (closes: #345157).
+ * Getopt::Long: allow "ignorecase_always" as a synonym for
+ "ignore_case_always" to match the documention (closes #354197).
+
+ * Don't add -Wdeclaration-after-statement to ccflags: this causes
+ problems when building extensions with gcc-3.3 .
+
+ * Pod::Man: don't translate "|" (closes: #291391).
+
+ -- Brendan O'Dea Fri, 10 Mar 2006 03:07:28 +1100
+
+perl (5.8.8-2) unstable; urgency=low
+
+ * Move overload.pm back to perl-base (closes: #352060).
+ * Extend timer in Time::HiRes test to 5 mins (for m68k).
+
+ -- Brendan O'Dea Fri, 10 Feb 2006 06:23:17 +1100
+
+perl (5.8.8-1) unstable; urgency=low
+
+ * New upstream version.
+ * Update perl-base conflict versions for:
+ libscalar-list-utils-perl (1.18).
+
+ * Update perl conflict versions for:
+ libdigest-md5-perl (2.36),
+ libmime-base64-perl (3.07),
+ libstorable-perl (2.15) and
+ libtime-hires-perl (1.86).
+
+ * Update perl-modules conflict versions for:
+ libattribute-handlers-perl (0.78_02),
+ libcgi-pm-perl (3.15),
+ libpod-parser-perl (1.32),
+ libansicolor-perl (1.10),
+ libtest-harness-perl (2.56) and
+ libtest-simple-perl (0.62).
+
+ * Revert debian/patches/02_fix_file_path to upstream fix.
+ * Update to DB_File to db4.4.
+ * Move Data::Dumper and overload from perl-base to perl now that
+ debconf no longer requires Data::Dumper.
+
+ -- Brendan O'Dea Sat, 4 Feb 2006 19:33:24 +1100
+
+perl (5.8.7-10) unstable; urgency=low
+
+ * Remove DB_File version checks (closes: #340047, #343335).
+ * Remove Errno version check, which can cause problems with long-running
+ processes that embed perl when perl is upgraded (closes: #343351)
+
+ * Apply upstream 26321: Disallow sprintf's vector handling for
+ non-integer formats.
+
+ -- Brendan O'Dea Fri, 16 Dec 2005 01:32:14 +1100
+
+perl (5.8.7-9) unstable; urgency=high
+
+ * SECURITY [CVE-2005-3962] (closes: #341542):
+ + Apply upstream fixes to prevent buffer overflows in
+ printf/sprintf caused by malicious format strings.
+ + Update Sys::Syslog to 0.09, which only uses the message as a
+ format string to sprintf when additional arguments are given.
+
+ * Remove -Dusemymalloc from perl-debug (added for #178243: to
+ enable PERL_DEBUGGING_MSTATS), as this causes debugperl to break with
+ compiled modules. Closes: #337050, #342526).
+
+ * Skip Math::Complex tests 267 and 487, failing due to non-IEEE fp
+ rounding rules in the kernel fp emulation.
+
+ -- Brendan O'Dea Sat, 10 Dec 2005 16:43:02 +1100
+
+perl (5.8.7-8) unstable; urgency=low
+
+ * ARM fix is also required for armeb.
+ * Skip lib/Net/hostent.t test if no /etc/hosts (some buildds).
+ * Fix debugger termination message to refer to "o" rather than "O" for
+ setting options (closes: #334516).
+
+ * Fix problem with untainting of captured $N (thanks to Chris Heath
+ for analysis and patch; closes: #303308).
+
+ * Fix h2ph to correctly locate gcc's include directory (closes: #328500).
+ * Update to DB_File to db4.3 (closes: #336486).
+
+ -- Brendan O'Dea Sun, 13 Nov 2005 12:05:29 +1100
+
+perl (5.8.7-7) unstable; urgency=low
+
+ * ARM optimisation fix take 2. Downgrade optimisation of pp_pack to
+ -Os (closes: #333510). Thanks to Bill Gatliff for the extended
+ use of the CSB625 is his basement.
+
+ * Change section of perl-base to "perl".
+
+ -- Brendan O'Dea Mon, 17 Oct 2005 23:16:32 +1000
+
+perl (5.8.7-6) unstable; urgency=low
+
+ * Downgrade optimisation on arm to -O1 for certain files due to
+ problems with gcc 4.0 (closes: #333510).
+
+ -- Brendan O'Dea Thu, 13 Oct 2005 13:35:38 +1000
+
+perl (5.8.7-5) unstable; urgency=low
+
+ * Handle changed dpkg-architecture output so that perl is statically
+ linked on i386 again (closes: #324418).
+
+ * Add build-dep on cpio 2.6-5 to ensure libperl.so link is included in
+ libperl-dev package (#326090).
+
+ * Various a2p fixes:
+ + Make {$1++;print} work correctly. The re-join was occuring for
+ assignment, but not increment (close: #198945).
+
+ + Make {$NF++} work. Was generating $Fld[$#Fld++].
+ + Use -1 as the last argument to split (closes: #18395).
+ + Omit last argument to substr (cosmetic).
+
+ -- Brendan O'Dea Mon, 12 Sep 2005 01:14:31 +1000
+
+perl (5.8.7-4) unstable; urgency=low
+
+ * Don't generate broken md5sums for libperl5.8 (closes: #304640).
+ * Build with gcc 4.0; restore standard (-O2) optimisation on arm, ia64
+ and powerpc. Remove gcc-2.95 build work-around for m68k.
+ * Fix test of reenterant function return values which was causing
+ perl to malloc itself to death if ERANGE was encountered before
+ ENOENT (such as a long line in /etc/group; closes: #227621).
+
+ -- Brendan O'Dea Sat, 9 Jul 2005 11:14:13 +1000
+
+perl (5.8.7-3) unstable; urgency=low
+
+ * Add alternative for /usr/bin/rename (closes: #304705).
+ * install* variables have been moved from Config.pm to
+ Config_heavy.pl; strip (closes: #312419).
+
+ -- Brendan O'Dea Wed, 8 Jun 2005 23:00:25 +1000
+
+perl (5.8.7-2) unstable; urgency=low
+
+ * Sarge has released. Rebuild for unstable.
+
+ -- Brendan O'Dea Tue, 7 Jun 2005 09:31:16 +1000
+
+perl (5.8.7-1) experimental; urgency=low
+
+ * New upstream version.
+ * Update perl conflict versions for:
+ libtime-hires-perl (1.66).
+
+ * Update perl-module conflict versions for:
+ libcgi-pm-perl (3.10),
+ libfile-temp-perl (1.16),
+ libmath-bigint-perl (1.77),
+ libpod-parser-perl (1.30),
+ libansicolor-perl (1.09),
+ libtest-harness-perl (2.48) and
+ libtest-simple-perl (0.54).
+
+ -- Brendan O'Dea Fri, 3 Jun 2005 00:40:00 +1000
+
+perl (5.8.6-1) experimental; urgency=low
+
+ * New upstream version. Uploading to experimental due to the sarge
+ freeze.
+
+ * Update perl conflict versions for:
+ libmime-base64-perl (3.05) and
+ libtime-hires-perl (1.65).
+
+ * Update perl-module conflict versions for:
+ libcgi-pm-perl (3.05),
+ libi18n-langtags-perl (1.35) and
+ libmath-bigint-perl (1.73).
+
+ -- Brendan O'Dea Sat, 21 May 2005 18:01:17 +1000
+
+perl (5.8.4-8) unstable; urgency=low
+
+ * Remove $!{ENOENT} test from rmtree; File::Path is used during the
+ build process before Errno is installed.
+
+ -- Brendan O'Dea Tue, 8 Mar 2005 19:30:38 +1100
+
+perl (5.8.4-7) unstable; urgency=low
+
+ * SECURITY [CAN-2005-0448]: rewrite File::Path::rmtree to avoid race
+ condition which allows an attacker with write permission on
+ directories in the tree being removed to make files setuid or to
+ remove arbitrary files (closes: #286905, #286922). Supersedes
+ the previous patch for CAN-2004-0452.
+
+ * Add PERL_DEBUGGING_MSTATS for debugperl (closes: #178243).
+ * Escape dashes in verbatim text to have groff render them as-is
+ rather than as \x{2010} (closes: #250877).
+
+ * CGI: handle escaped newlines in URLs (closes: #289709).
+ * Net::NNTP: fix precedence error in article routine (closes: #275142).
+ * Devel::Dprof: refer to executable as `perl' (closes: #198855).
+ * Remove spurious undefined warning in getopts.pl (closes: #255919).
+ * Remove XSI-isms from maintainer scripts (closes: #256731).
+ * Revise MakeMaker patch to defer expansion of $(MANnEXT) until
+ runtime (closes: #263325).
+
+ * Normalise case of a2p man page OPTIONS section, place optional
+ filename in brackets (closes: #281091, #281092).
+
+ * Fix octal glitch in perlreref(1) (closes: #281437).
+ * Have perl suggest both ReadLine variants (gnu, perl).
+ * Upgrade suggestion on perl-doc to recommends now that dselect is
+ less pedantic about the latter.
+
+ -- Brendan O'Dea Mon, 7 Mar 2005 10:22:01 +1100
+
+perl (5.8.4-6) unstable; urgency=high
+
+ * SECURITY [CAN-2005-0155, CAN-2005-0156]: apply Mandrake patch to
+ perlio.c which removes a privilege escalation in debug mode and a
+ buffer overflow.
+
+ * Make close return false if the stream had prior errors (patch from
+ Jim Meyering; closes: #285435).
+
+ * Fix enc2xs to handle missing entries symlinks in @INC, and missing
+ directories (thanks to Sven Hartge; closes: #290336).
+
+ * Add --no-backup-if-mismatch to patch/unpatch rules.
+ * Correct some minor errors in 09_fix_insecure_tempfiles: wrong
+ quoting in c2ph.PL, documentation of .perldbtty in perldebug.pod .
+
+ -- Brendan O'Dea Wed, 2 Feb 2005 23:55:27 +1100
+
+perl (5.8.4-5) unstable; urgency=low
+
+ * SECURITY [CAN-2004-0452]: use less permissive chmods in rmtree.
+ * Move utf8_heavy.pl from perl-modules to perl-base (closes: #280596).
+ * Change ext/*/hints/gnuk{net,free}bsd.pl to use "./hints/linux.pl"
+ (added leading "./").
+
+ * Add debian/watch file.
+ * Install correct MANIFEST.SKIP for ExtUtils (closes: #283802).
+ * Fix error in perlipc documentation of "|-" (closes: #282110).
+ * Add replaces for libclass-multimethods-perl which erroneously
+ included /usr/lib/perl/5.8 (closes: #284489).
+
+ -- Brendan O'Dea Sat, 11 Dec 2004 22:50:44 +1100
+
+perl (5.8.4-4) unstable; urgency=low
+
+ * SECURITY [CAN-2004-0976]: patches from Trustix for insecure temp
+ file usage (thanks to Joey Hess for analysis; closes #278404).
+ - Some unsafe examples in the DB_File POD.
+ - Use of the unsafe tmpnam in the ext/DB_File/t/db-recno.t test
+ script.
+ - Use of unsafe temporary file names in ext/Devel/PPPort/PPPort.pm .
+ - An example in MakeMaker.pm that suggets setting PREFIX=/tmp/myperl5
+ and another that suggets setting DESTDIR=/tmp/ .
+ - Insecure use of /tmp file in instmodsh.
+ - Insecure use of /tmp file in lib/Memoize/t/tie.t, tie_gdbm.t, tie_ndbm.t,
+ tie_sdbm.t, tie_storable.t, probably exploitable at build time if these
+ tests are run.
+ - Use of insecure temp file in POD docs in lib/perl5db.pl
+ and also an insecure temp file in the setterm() function in that
+ program.
+
+ * Fix "bizarre copy of ARRAY" error (thanks to Frank Lichtenheld for
+ pointing out upstream change 22781; closes #275298).
+
+ * Re-order DESCRIPTION paragraph of perl(1) (closes: #278323).
+ * Escape - in character class in Encode::Alias (closes: #278874).
+ * Add hints/gnuk{net,free}bsd.pl which sources hints/linux.pl to
+ some extensions (closes: #248184).
+
+ -- Brendan O'Dea Sun, 7 Nov 2004 02:19:25 +1100
+
+perl (5.8.4-3) unstable; urgency=low
+
+ * Cleanup NMU:
+ - make patch apply/unapply cleanly (closes: #276969).
+ - update libmime-base64-perl conflicts to 3.04 .
+
+ * Add -D_GNU_SOURCE to hints/gnu.sh (closes: #258618).
+ * Add hints/gnuk{net,free}bsd.sh (closes: #248184).
+ * Fix IO blocking method on sparc.
+ * Use -O1 selectively on powerpc (as with ia64, arm).
+
+ -- Brendan O'Dea Mon, 25 Oct 2004 01:07:00 +1000
+
+perl (5.8.4-2.3) unstable; urgency=high
+
+ * NMU.
+ * Update MIME::Base64 to version 3.03, needed by MIME-tools 5.413.
+ * Fix lintian warnings in synopsis of some binary packages.
+
+ -- Matthias Klose Sun, 19 Sep 2004 15:07:29 +0200
+
+perl (5.8.4-2.2) unstable; urgency=low
+
+ * NMU, aided by Adam Conrad.
+ * Make debian package autobuildable by integrating the handholding developed
+ by the people working on #247176 into the package infrastructure.
+ - on ARM and ia64 set optimize=-O1 for selected files
+ (63_debian_optim_workaround)
+ - Build with cpp-2.95/gcc-2.95 on m68k.
+
+ -- Andreas Metzler Wed, 1 Sep 2004 11:51:10 +0200
+
+perl (5.8.4-2) unstable; urgency=low
+
+ * Revert DynaLoader version permit programs linked with pre-5.8.4 perl
+ to libperl.so to work (closes: #247291).
+
+ * Modify MakeMaker to pass the full section name to pod2man (closes:
+ #247370).
+
+ -- Brendan O'Dea Tue, 11 May 2004 23:29:02 +1000
+
+perl (5.8.4-1) unstable; urgency=low
+
+ * New upstream version.
+ * DB_File now uses to db4.2 (previously db4.0; closes: #240771).
+ * Update perl conflict versions for:
+ libmime-base64-perl (3.01),
+ libtime-hires-perl (1.59) and
+ libstorable-perl (2.12).
+
+ * Update perl-module conflict versions for:
+ libansicolor-perl (1.08),
+ libcgi-pm-perl (3.04),
+ liblocale-maketext-perl (1.08) and
+ libmath-bigint-perl (1.70).
+
+ * Add conflicts/replaces/provides for liblocale-codes-perl. As there
+ are some core changes to this module not reflected in the CPAN
+ package fake up version as 2.06.1-1 (closes: #240497).
+
+ * Fixed debian/config.debian to pass -Doptimize correctly (changes in
+ 5.8.3-3 broke perl-debug; closes: #246326).
+
+ -- Brendan O'Dea Sun, 2 May 2004 09:46:25 +1000
+
+perl (5.8.3-3) unstable; urgency=medium
+
+ * [CAN-2003-0618] Apply Paul Szabo's suidperl fixes to prevent path
+ disclosure (upstream change 22563; closes: #220486).
+
+ * Add build option to supress regression tests; document
+ perl-specific DEB_BUILD_OPTIONS values in README.Debian.
+
+ -- Brendan O'Dea Sat, 27 Mar 2004 11:23:37 +1100
+
+perl (5.8.3-2) unstable; urgency=low
+
+ * Supress spurious pseudohash warning (closes: #231619).
+ * Add patch from Go"ran Weinholt for hurd (closes: #230710).
+ * Create the correct site directory for perllocal (closes: #232074).
+ * Documentation fixes from Julian Gilbey for Encode and perluniintro
+ (closes: #219297, #219308).
+
+ * Issue a warning for missing section 1 manual pages and add missing
+ instmodsh documentation (closes: #230730).
+
+ * cpan script moved to the perl package (from perl-modules) in
+ 5.8.1-1; add replaces (closes: #232705).
+
+ * Add conflict for libapache-mod-perl which segfaults with 5.8.2+
+ libperl5.8 (closes: #232537).
+
+ * Set default Makefile.PL arg of 'INSTALLDIRS=site' for CPAN.
+ * Ensure that the version of perl-doc matching Upstream-Version is
+ installed (via depend on perl-doc and conflict on perl).
+
+ -- Brendan O'Dea Sun, 15 Feb 2004 12:40:09 +1100
+
+perl (5.8.3-1) unstable; urgency=low
+
+ * New upstream version.
+ * Update conflict versions for updated core modules.
+ * Add epoch to conflict for libscalar-list-utils-perl, move to
+ perl-base (closes: #225873).
+
+ * Use generic values for $Config{myhostname} and $Config{mydomain}.
+ * Include more information on packaging details in README.Debian.
+ * Clarify signal handling during system (closes: #224235).
+ * Add -march=armv3 for arm until gcc defaults are fixed (closes:
+ #230010).
+
+ * Drop sub-version from privlib/archlib directories to match the
+ libperl soname, preventing problems for programs embedding an
+ interpreter when upgrading libperl to a new sub-version.
+
+ -- Brendan O'Dea Thu, 29 Jan 2004 13:39:00 +1100
+
+perl (5.8.2-2) unstable; urgency=low
+
+ * Remove empty directories from /usr/share/perl (closes: #220422).
+ * Upstream change 21719: empty subroutine segfaults (closes: #220277).
+ * Add reentr.pl patch from Chip to fix C++ API (closes: #220840).
+ * Add Conflicts/Replaces/Provides for libscalar-list-utils-perl (in
+ core since 5.8.0; closes #218356).
+
+ -- Brendan O'Dea Sat, 15 Nov 2003 14:54:26 +1100
+
+perl (5.8.2-1) unstable; urgency=low
+
+ * New upstream version.
+ * Update module conflicts.
+
+ -- Brendan O'Dea Sat, 8 Nov 2003 01:19:29 +1100
+
+perl (5.8.1-4) unstable; urgency=low
+
+ * ODBM_File/NDBM_File: dbm/ndbm compatability libraries are now in
+ libgdbm_compat.so.
+
+ -- Brendan O'Dea Thu, 23 Oct 2003 22:10:22 +1000
+
+perl (5.8.1-3) unstable; urgency=low
+
+ * Don't mark srand as being called when setting the hash seed
+ otherwise all forked processes end up with the same seed.
+
+ * Move Net::Config back to /usr/share/perl and set location of
+ libnet.cfg to /etc/perl/Net (closes #215730).
+
+ * Apply Nicholas Clark's "Plan C" for foiling the algorithmic
+ complexity attack (based on Chip's plan A (binary compatibility with
+ 5.8.0 and 5.8.1). Closes: #213976, #214938.
+
+ -- Brendan O'Dea Sat, 18 Oct 2003 09:41:16 +1000
+
+perl (5.8.1-2) unstable; urgency=low
+
+ * Added missing Provides: libstorable-perl (closes: #213320).
+ * Remove temporary build dir from install{priv,arch}lib Config
+ variables (closes: #213355).
+
+ -- Brendan O'Dea Tue, 30 Sep 2003 09:10:33 +1000
+
+perl (5.8.1-1) unstable; urgency=low
+
+ * New upstream version.
+ Closes: #211967 (problem with Term::Complete).
+
+ * Remove cpan script in favour of upstream replacement.
+ * Update conflict versions for core modules.
+ * Add note to suidperl package description about possible timing
+ attacks (as noted in #203426).
+
+ * Kludge around missing __LONG_MAX__ definition in generated .ph
+ headers (closes: #212708).
+
+ -- Brendan O'Dea Sun, 28 Sep 2003 20:53:25 +1000
+
+perl (5.8.0-21) unstable; urgency=high
+
+ * Security: further changes for suidperl path disclosure [CAN-2003-0618]
+ to correct exit values and removes extraneous period (closes: #203426).
+
+ -- Brendan O'Dea Thu, 11 Sep 2003 17:58:19 +1000
+
+perl (5.8.0-20) unstable; urgency=high
+
+ * Security: path disclosure via suidperl [CAN-2003-0618] fixed by
+ application of upstream change 21045 (thanks Jarkko; closes:
+ #203426).
+
+ * Add dependency on the exact version of perl-base to libperl5.8 to
+ ensure that the correct base modules are available to programs
+ embedding an interpreter (closes: 182089).
+
+ Move shared library to the perl-base package on architectures
+ where /usr/bin/perl is dynamically linked to the library
+ (everything other than i386) to avoid a dependency loop.
+
+ * Change sections to match overrides (new perl and libdevel sections).
+ * Apply upstream change 18471 to correct behaviour of tell on files
+ opened O_APPEND (reported by Sergio Rua).
+
+ * Apply upstream change 21031 to alter the distribution conditions
+ of perlreftut(1) (see #202723). Include this manual page in
+ perl-doc once again. Many thanks to Kevin Carlson of TPJ and to
+ Mark Jason Dominus for their cooperation and assistance with this
+ licence change.
+
+ * Apply patch from Matt Kraai making braced-group macro expressions
+ conditional on !__cplusplus (fixes abiword build on m68k; closes:
+ #204859).
+
+ * Ensure all dependencies of libperl are directly linked (previously
+ -lm and -lpthread were not) for prelink (closes: #187372).
+
+ * Fix permissions on DEBIAN directories in build (closes: #207332).
+ * Expand perl-modules description (closes: #210096).
+ * Add some documentation to README.Debian about the source package.
+ * Backport some changes from DB_File 1.806 to set some tie argument
+ defaults (reported by Sergio Rua).
+
+ * Apply upstream fix for h2ph from Kurt Starsinic to suppress
+ redefinition warnings.
+
+ -- Brendan O'Dea Wed, 10 Sep 2003 17:25:10 +1000
+
+perl (5.8.0-19) unstable; urgency=low
+
+ * Security: cross site scripting vulnerability in CGI (closes: #202367).
+ * Fix in perlvar.pod (closes: #202784).
+ * Remove non-free perlreftut(1) manual page and POD (closes: #202723).
+ * Change architecture check to use variables set by
+ dpkg-buildpackage or from dpkg-architecture (closes #201240).
+
+ -- Brendan O'Dea Tue, 29 Jul 2003 23:59:58 +1000
+
+perl (5.8.0-18) unstable; urgency=low
+
+ * Add build-depends for new libgdbm.
+ * Add -fno-regmove for shared build on m68k to work around an
+ optimiser bug.
+
+ -- Brendan O'Dea Thu, 5 Jun 2003 23:18:20 +1000
+
+perl (5.8.0-17) unstable; urgency=low
+
+ * Correct patch to ext/threads/t/join.t (closes: #181306).
+
+ -- Brendan O'Dea Mon, 17 Feb 2003 20:53:25 +1100
+
+perl (5.8.0-16) unstable; urgency=low
+
+ * Add conflict on earlier versions of perl-doc to perl (closes: #180260).
+ * Fix build issue with localised cpp output (closes: #177458).
+ * Backport upstream changes to make $0 writable (closes: #178404).
+ * Backport upstream changes to remove implicit utf8 I/O (closes: #164717).
+ * Apply upstream fix for debugging speed issue (closes: #180591,
+ thanks to Chip Salzenberg for the patch).
+
+ -- Brendan O'Dea Sun, 16 Feb 2003 22:16:19 +1100
+
+perl (5.8.0-15) unstable; urgency=low
+
+ * Fix insecure use of /tmp by c2ph/pstruct (closes: #173241).
+ * Apply upstream fix for POSIX ctype functions (closes: #175867).
+ * Adjust dprofpp output to screen width (closes: #175956).
+ * Modify splain description to have meaningful apropos (closes: #175584).
+ * Remove bash-ism from debian/rules (closes: #171865).
+ * Fix documentation of S_IMODE macro (closes: #161618).
+ * Fix documentation of -i option (closes: #161636).
+ * Remove hppa/mips* special cases as all arches should now use gcc
+ 3.2. Add gcc build-depend.
+
+ -- Brendan O'Dea Sat, 11 Jan 2003 21:58:54 +1100
+
+perl (5.8.0-14) unstable; urgency=low
+
+ * Security update for Safe.pm (closes: #169794):
+
+ http://www.iss.net/security_center/static/10574.php
+ http://use.perl.org/articles/02/10/06/1118222.shtml?tid=5
+
+ -- Brendan O'Dea Wed, 20 Nov 2002 23:24:12 +1100
+
+perl (5.8.0-13) unstable; urgency=low
+
+ * Use gcc 3.2 to build on some architectures (hppa, mips*).
+ * Fix examples in perlembed to work with a threaded perl.
+
+ -- Brendan O'Dea Sat, 14 Sep 2002 23:05:37 +1000
+
+perl (5.8.0-12) unstable; urgency=low
+
+ * Move Attribute/Handlers/demo to perl-doc.
+ * Skip manpages for podless modules (closes: #159504).
+
+ -- Brendan O'Dea Sat, 7 Sep 2002 00:48:39 +1000
+
+perl (5.8.0-11) unstable; urgency=low
+
+ * Add accessor methods for POSIX::SigAction (closes: #158587).
+ * Remove conflict on libcgi-pm-perl from libcgi-fast-perl (as
+ perl-modules now C/R/P libcgi-pm-perl). Closes: #159217.
+
+ -- Brendan O'Dea Wed, 4 Sep 2002 03:09:07 +1000
+
+perl (5.8.0-10) unstable; urgency=low
+
+ * Copy import/export argument list in lib.pm (closes: #158627).
+ * Term::Cap: deal with comments in infocmp output (closes: #158453).
+ * Update perl-base replaces versions for perl and perl-modules.
+ * libcgi-pm-perl contains CGI.pm rather than libcgi-perl, fix
+ conflicts/replaces/provides (closes: #158645).
+
+ -- Brendan O'Dea Thu, 29 Aug 2002 22:12:21 +1000
+
+perl (5.8.0-9) unstable; urgency=low
+
+ * More modules for perl-base (closes: #158499).
+ * Temporarily special-case hppa to use -O1 until gcc-3.2 is the
+ default compiler (issues with 3.0; closes: #158290).
+
+ * Add build-dep on cpio (used when splitting packages) and add an
+ assertion to debian/splitdoc checking that expected modules were
+ found (closes: #158603).
+
+ * Modify ext/Sys/Syslog/syslog.t test to work on buildds where syslogd
+ may not be running.
+
+ -- Brendan O'Dea Wed, 28 Aug 2002 23:51:30 +1000
+
+perl (5.8.0-8) unstable; urgency=low
+
+ * Some modules for perl-base had moved (lib, Cwd), revise
+ debian/perl-base.files (closes: #158094).
+
+ * Add dependency on the current version of perl to libperl-dev.
+ * Move module documentation from dirs under /usr/share/perl to
+ /usr/share/doc/perl/_module_.
+
+ -- Brendan O'Dea Mon, 26 Aug 2002 18:29:45 +1000
+
+perl (5.8.0-7) unstable; urgency=low
+
+ * New upstream release.
+ * NOTE: this release breaks binary compatability with previous
+ versions of perl. Users will need to upgrade to newer versions of
+ binary module packages (if/when available) and re-build any
+ locally installed modules.
+
+ * NOTE: DB_File now uses libdb4.0 (previously libdb2). Any DB_File
+ databases created with earlier perl packages will need to be
+ upgraded before being used with the current module with the
+ db4.0_upgrade program (in the libdb4.0-util package, with HTML docs
+ in db4.0-doc).
+
+ * NOTE: suidperl is now deprecated upstream and support is expected
+ to be discontinued for 5.10. Package description amended.
+
+ * Add Conflicts/Replaces/Provides for modules now included in core:
+ libdigest-md5-perl, libmime-base64-perl, libnet-perl,
+ libtime-hires-perl, libstorable-perl,
+ libattribute-handlers-perl, libcgi-perl, libi18n-langtags-perl,
+ liblocale-maketext-perl, libmath-bigint-perl, libnet-ping-perl,
+ libtest-harness-perl, libtest-simple-perl
+
+ * Update versions of conflicts on libpod-parser-perl,
+ libansicolor-perl and libfile-temp-perl.
+
+ * Add conflict for autoconf2.13 pre 2.13-45 which breaks with this
+ perl (closes: #155064).
+
+ * Enable threads (closes: #107909, #126233).
+ * Add -f (--force) option to /usr/bin/rename (closes: #140746).
+ * Add -n (--no-act) option to /usr/bin/rename (suggested by
+ frederik@ugcs.caltech.edu).
+
+ * Correct rename(1) manual page (closes: #153458, #153757).
+ * Prepend /etc/perl to @INC to provide a standard location for
+ configuration modules:
+ /etc/perl/Net/Config.pm (note: previously /etc/Net in libnet-perl)
+ /etc/perl/CPAN/Config.pm (closes: #138167, #103055).
+
+ * Add an option for CPAN.pm to skip version check (closes: #98235).
+ * Include /usr/bin/cpan script (closes: #136159).
+ * Modify perldoc to format pages simarly to man-db when stdout is a
+ terminal (closes: #135318).
+
+ * perldoc place-holder now outputs to stderr (closes: #140448).
+ * Add a note in ExtUtils::Embed(3perl) to the effect that the on
+ Debian systems the libperl-dev package is required (closes: #155319).
+
+ * Allow accept to return addresses > sockaddr_in (closes: #156284).
+ * Modify debian/rules to remove libperl.so* on failure (closes: #157953).
+ * This version appears to correct the following bugs:
+ Closes: #54987: perl: goto inside for(;;) clears variables ?!?
+ Closes: #66702: Redefining running sub dumps core.
+ Closes: #67479: perl-5.005: Sys::Hostname pollutes package main...
+ Closes: #68876: perlipc(1p) has broken examples
+ Closes: #80141: One-liner that makes perl segfault
+ Closes: #88470: perl segfaults
+ Closes: #102163: Bug in perl 5.6.1 when using /sg in regular expressions
+ Closes: #103576: perl: Still links libdb2...
+ Closes: #104414: Taint checking bypassed on read-write file opening
+ Closes: #125735: perl: segfaults on "Ode to My Thesis"
+ Closes: #127973: perl crashes on simple one liner
+ Closes: #131714: perl-base: Perl segfaults with this script
+ Closes: #133803: perl: segfault
+ Closes: #140787: perl: trivial segfault
+ Closes: #144618: perl: segfault parsing bad tie() statement
+ Closes: #149304: perl: chomp function makes perl segfault
+ Closes: #150590: perl-base: Carp::confess() ... overloaded "" operator
+ Closes: #157152: Pod::Man says that all Pod is 3rd Berkeley Distribution
+
+ -- Brendan O'Dea Sat, 24 Aug 2002 14:53:35 +1000
+
+perl (5.6.1-7) unstable; urgency=medium
+
+ * Prune libswanted so as to link only the libraries we specifically
+ want (closes: #128355).
+
+ * Include debug-enabled libperl as /usr/lib/libdebugperl.a in the
+ perl-debug package (closes: #117039).
+
+ * Only treat a leading "+" as special to open when followed by "<"
+ or ">" (closes: #52166).
+
+ * Move warning from I18N::Collate NAME section (closes: #113370).
+ * Apply patch to correct utf8 and /\s/ problem (closes: #124227).
+ * Add trailing period to perl-modules description (closes: #127689).
+ * Include sys/ioctl.ph (closes: #128423).
+ * Remove old /usr/lib/perl5/5.* dirs from @INC now that no packages
+ install modules there.
+
+ -- Brendan O'Dea Fri, 11 Jan 2002 04:05:42 +1100
+
+perl (5.6.1-6) unstable; urgency=medium
+
+ * Cleanup for woody release.
+ * Update included debhelper subset to 3.0.51.
+ * Install pos2latex man page (closes: #45899).
+ * Avoid undefined warnings from Term::Cap (closes: #103421).
+ * Write full paths to .packlists (closes: #106859).
+ * Update to podlators 1.18 (closes: #109183).
+ * Fix interpreter state variable (upstream patch 10531, closes: #117100).
+ * Remove spurious & from waitpid example (closes: #118115).
+ * Include asm/termios.ph (closes: #118485).
+ * Include sys/time.ph (closes: #119054).
+ * Correct typo in IO::Seekable man page (closes: #119776).
+
+ -- Brendan O'Dea Tue, 4 Dec 2001 00:56:13 +1100
+
+perl (5.6.1-5) unstable; urgency=low
+
+ * Correct typo in debian/config.debian which was causing the static
+ perl to be installed on all arches.
+
+ * Explicitly link NDBM_File against -lgdbm rather than -lndbm.
+ * Update included debhelper subset to 3.0.36.
+ * Changed perl-base depends to pre-depends.
+ * Relaxed perl-modules dependencies on perl.
+
+ -- Brendan O'Dea Fri, 22 Jun 2001 13:49:58 +1000
+
+perl (5.6.1-4) unstable; urgency=low
+
+ * Fix ExtUtils::MM_Os2 docs (closes: #99930).
+ * Include autoloaded parts of Getopt::Long in -base (closes: #100557).
+ * Correct perl package description (closes: #99187).
+ * Update copyright date.
+ * Apply all of podlators 1.09.
+ * Change priority of libcgi-fast-perl to extra.
+ * Add LC_MESSAGES to POSIX module.
+ * Update included debhelper subset to 3.0.32.
+ * Add version to perl-5.004* conflicts.
+
+ -- Brendan O'Dea Wed, 13 Jun 2001 02:10:32 +1000
+
+perl (5.6.1-3) unstable; urgency=high
+
+ * Clean up /usr/share/doc links and directories in perl/perl-doc
+ postinsts (closes: #98850).
+
+ * Remove incorrect CGI:: package qualifier from call to unescape in
+ CGI::Cookie module (closes: #98512).
+
+ * Add conflict/replace/provides to perl-modules for libfile-temp-perl
+ which is now included as a core module (closes: #98977).
+
+ * Add "file" to build-depends (closes: #98641).
+ * Update included debhelper subset to 3.0.26.
+
+ -- Brendan O'Dea Mon, 28 May 2001 11:21:16 +1000
+
+perl (5.6.1-2) unstable; urgency=low
+
+ * Clean up /usr/share/doc/perl symlinks/directories from 5.6.0
+ packages in perl-base preinst (closes: #98302).
+
+ * Remove unnecessary pre-dependency on perl-base from perl-doc.
+ * Modify Term::Cap to fake up an entry using "infocmp -C" when all
+ else fails. Based on a suggestion by Adam Rice quite some time
+ ago (closes: #39447 and a bunch more).
+
+ * Build DynaLoader.o with -fPIC as it may be linked to shared
+ objects like mod_perl.
+
+ -- Brendan O'Dea Wed, 23 May 2001 23:20:19 +1000
+
+perl (5.6.1-1) unstable; urgency=low
+
+ * New upstream version.
+ + Closes: #83246 ([upstream-patch] File::Find fails if running -T).
+ + Closes: #83316 (Example from File::Glob documentation does not
+ work).
+
+ + Closes: #86188 (perl-5.6-doc: strangity in perlop.{1,pod}).
+ + Closes: #88247 (perl-doc: perlre.1 problems).
+ + Closes: #88461 (perlcc doesn't clean up after an error).
+ + Closes: #92151 (Character class [:blank:] unknown).
+ + Closes: #97860 (segfault on next inside File::Find subref).
+
+ * Changes to perl-base:
+ + Move [massive] upstream changelog to perl.
+ + Move autoloaded routines from POSIX to perl.
+ + Strip pod from modules into separate .pod files, distributed
+ with perl-doc.
+
+ + Strip autoloaded routines (following __END__ token, already
+ split out into .al files).
+
+ + Add Getopt::Long.
+ + Add File::Glob (closes: #95238).
+
+ * Add a place-holder perldoc script to the perl package which
+ instructs the user to install perl-doc and add a similar note to
+ the perl(1) page.
+
+ * Remove perlfilter docs, newer versions of which are included in
+ the libfilter-perl package (closes: #88485).
+
+ * Patch perl5db.pl to fall back to "/usr/bin/pager" rather than
+ "more" if $PAGER is not set (Debian Policy 12.4, closes: 94462).
+
+ * Add conflicts/replaces/provides for libansicolor-perl (closes:
+ #83604).
+
+ * Allow the default build type (static /usr/bin/perl or shared) to
+ be overridden by including for x-perl-{shared,static} in
+ DEB_BUILD_OPIONS.
+
+ * Removed build-dependency on debhelper (a subset of debhelper is
+ now included).
+
+ * Augment the descriptions of libperl5.6 and libperl-dev, including a note
+ about perlcc in the latter (closes: #88462).
+
+ * Remove build-dependency on netbase for i386 hurd (closes: #89406).
+ * Exclude -lnsl and -lutil from from libs/perllibs (not required by
+ glibc, closes: #95604).
+
+ * Change the default Sys::Syslog socket to "UNIX" and document as
+ Debian-specific (closes: #95233).
+
+ -- Brendan O'Dea Mon, 21 May 2001 03:43:18 +1000
+
+perl (5.6.0-21) unstable; urgency=low
+
+ * Apply upstream patch 6591 to fix //m uninitialized warning
+ (closes: #76900).
+
+ * Add Build-Depends on netbase, as some tests require /etc/protocols
+ (closes: #88365).
+
+ * Add /usr/local/lib/site_perl back to @INC (note: not created by
+ installation) to allow local modules to be installed in a
+ non-versioned directory and to pick up local modules installed
+ with the previous packages (closes: #87831).
+
+ * Don't strip debugperl binary (closes: #88801).
+ * Change man3ext to 3perl as man will otherwise select perl's
+ open(3) over open(2) for example.
+
+ -- Brendan O'Dea Fri, 9 Mar 2001 05:50:53 +1100
+
+perl (5.6.0-20) unstable; urgency=low
+
+ * Fix priorities of perl-modules and libperl5.6 to "important" and
+ "required" due to dependencies from perl and (on non-386)
+ perl-base respectively.
+
+ * Fix Man/Pod.pm problem with CORE::GLOBAL::die() and similar
+ (closes: #87483).
+
+ * Conflict with old data-dumper package (closes: #86809).
+ * Fix suffix of suidperl/debugperl man pages.
+
+ -- Brendan O'Dea Tue, 27 Feb 2001 03:14:55 +1100
+
+perl (5.6.0-19) unstable; urgency=low
+
+ * Fix Build-Depends version for debhelper.
+ * Apply upstream change 7428 to fix Universal::isa (reported by Joey
+ Hess).
+
+ * Move locale.pm to perl-base (requested by Joey Hess).
+ * Move attributes.pm to perl-base. Used internally to support
+ subroutine attributes such as :lvalue. This should allow debconf to
+ depend only on perl-base (closes: #77399).
+
+ * Add replaces/provides/conflicts for libpod-parser-perl to the perl
+ package. Note the programs are in perl, and the modules in
+ perl-modules although the latter don't actually conflict as the
+ directory is different (closes: #86459).
+
+ * Choose one libreadline-*-perl package to suggest, as having both
+ with an | was tickling an obscure bug in apt-get.
+
+ * Patch perldoc to warn rather than die on non-existent dirs in @INC
+ as not all directories may exist in a debian installation, the
+ site directories for instance are created by MakeMaker on demand
+ (closes: #86690).
+
+ * Fix Getopt::Long documentation for the require_order option
+ (closes: #86683).
+
+ * Add a suidperl link for those who wish to use #!/usr/bin/suidperl
+ explicitly (closes: #86654).
+
+ * Add install-local-thread target to debian/rules to allow people to
+ configure/build/install a threaded perl locally if required.
+
+ -- Brendan O'Dea Wed, 21 Feb 2001 02:41:34 +1100
+
+perl (5.6.0-18) unstable; urgency=low
+
+ * Updated to debhelper v3.
+ * Include changelogs in libcgi-fast-perl package. (Closes: #86364).
+ * Remove empty B::Stash and warnings::register man pages.
+ (Closes: #86204).
+
+ * Fix Math::Complex manual page (11_fix_math_complex_pod).
+ * Remove -lsfio library. (Closes: #86207).
+ * Move AUTHORS to perl-base, as copyright references it. Thanks to
+ Dirk Eddelbuettel .
+
+ * Move perldiag.pod to the perl-modules package so that the
+ diagnostics module works without perl-doc being installed.
+ (Closes: #86154).
+
+ * Add /usr/lib/perl5/5.6 to @INC to handle arch-indep module packages
+ which didn't set privlib to /usr/lib/perl5. (Closes: #86122).
+
+ * Add -mieee for alpha build. (Closes: #86059).
+
+ -- Brendan O'Dea Sun, 18 Feb 2001 06:13:29 +1100
+
+perl (5.6.0-17) unstable; urgency=low
+
+ * Fix nasty h2ph loop which was breaking the sparc build.
+ * Site installs now update perllocal.pod in sitearch rather than
+ archlib.
+
+ -- Brendan O'Dea Wed, 14 Feb 2001 15:10:10 +1100
+
+perl (5.6.0-16) unstable; urgency=low
+
+ * Split dummy versioned perl transition packages into a seperate
+ source package.
+
+ -- Brendan O'Dea Tue, 13 Feb 2001 03:38:46 +1100
+
+perl (5.6.0-15) unstable; urgency=low
+
+ * Add missing version to perl-5.005-base conflicts.
+ * Modify ExtUtils::MM_Unix and Install to create site directories with
+ group write permission (policy 10.1.2).
+
+ -- Brendan O'Dea Sun, 11 Feb 2001 00:57:59 +1100
+
+perl (5.6.0-14) unstable; urgency=low
+
+ * The 5.005 packages are now gone. Provide perl-5.005*
+ pseudo-packages for transition.
+
+ -- Brendan O'Dea Wed, 7 Feb 2001 23:17:19 +1100
+
+perl (5.6.0-13) unstable; urgency=low
+
+ * Modify MM_Unix yet again to install programs and manual pages
+ under /usr/local for site installs.
+
+ -- Brendan O'Dea Sun, 4 Feb 2001 23:46:29 +1100
+
+perl (5.6.0-12) unstable; urgency=low
+
+ * Modify MM_Unix to replace $Config{prefix} with '$(PREFIX)'
+ unconditionally in the Makefile INSTALL* variables.
+
+ -- Brendan O'Dea Fri, 2 Feb 2001 11:53:03 +1100
+
+perl (5.6.0-11) unstable; urgency=low
+
+ * Make perl-base essential.
+ * Add conflicts to libcgi-fast-perl for libcgi-pm-perl (which
+ includes a different version of that module).
+
+ * Apply _PATH_LOG patch from previous packages to fix Sys::Syslog,
+ which croaks if you pass an extra argument to syslog.
+
+ * Fixed POSIX.xs to work on ia64 (forwarded upstream).
+ * Applied patch 7565 which fixes Errno.pm (was not being created
+ correctly with gcc-2.96).
+
+ -- Brendan O'Dea Thu, 1 Feb 2001 18:31:45 +1100
+
+perl (5.6.0-10) unstable; urgency=low
+
+ * Move perlapi- provides to perl-base package to allow binary
+ modules such as libterm-stool-perl to depend only on perl-base.
+
+ -- Brendan O'Dea Sun, 28 Jan 2001 19:29:23 +1100
+
+perl (5.6.0-9) unstable; urgency=low
+
+ * Re-order @INC to allow site and vendor installed modules to shadow
+ the versions in core.
+
+ * Split CGI::Fast module into a separate package due to dependence
+ on libfcgi-perl.
+
+ -- Brendan O'Dea Fri, 26 Jan 2001 20:33:08 +1100
+
+perl (5.6.0-8) unstable; urgency=low
+
+ * Patch h2ph to handle glibc's bizzare enum+#define constants.
+ * Clean up some glitches in the generated headers.
+
+ -- Brendan O'Dea Wed, 24 Jan 2001 19:46:42 +1100
+
+perl (5.6.0-7) unstable; urgency=low
+
+ * New maintainer.
+ * New packaging.
+ * TODO: revise and include perl-policy and build a seperate
+ ithread-enabled binary if required.
+
+ -- Brendan O'Dea Tue, 16 Jan 2001 11:39:25 +1100
+
+perl-5.6 (5.6.0-6.2) unstable; urgency=low
+
+ * NMU
+ * Moving the libperl.so symlink to libperl5.6 requires conflicts and
+ replaces. (Closes: #80794).
+
+ -- Brendan O'Dea Fri, 29 Dec 2000 16:36:26 +1100
+
+perl-5.6 (5.6.0-6.1) unstable; urgency=low
+
+ * NMU
+ * Ensure that a valid /usr/bin/perl exists before each instance of
+ "update-alternatives --remove" in perl-5.6-base.postinst, as any
+ of these may possibly blow away the symlink. (Closes: #76432).
+
+ * If an alternative existed for perl.1p.gz before installation, the
+ file of that name in this package was removed in the postinst
+ update-alternatives. The same goes for cperl-mode.el. Install
+ versioned files and manually link like the rest of the
+ alternatives mess. (Closes: #78742, #79728).
+
+ Note that both of these changes to alternative handling are merely
+ stop-gap measures. The situation still remains that installing
+ perl-5.004 or 5.005 after 5.6 has been installed will play merry
+ havoc with the symlinks again and stands a good chance of nuking
+ /usr/bin/perl if subsequently removed.
+
+ * make.versions: rename rather than copying files so that we don't
+ ship two copies of each binary in the .deb (linked to canonical
+ name in postinst).
+
+ * Move warnings::register to -base. (Closes: #79075, #79234).
+ * Move autosplit.ix for File::Glob to -base. (Closes: #77384)
+ * Move load_imports.al for POSIX to -base.
+ * Move IO.pm to -base.
+ * Move dangling libperl.so symlink to libperl5.6.
+
+ -- Brendan O'Dea Fri, 29 Dec 2000 00:55:21 +1100
+
+perl-5.6 (5.6.0-6) unstable; urgency=low
+
+ * Don't do the /usr/bin/perl.dist -> /usr/bin/perl bit anymore. dpkg
+ probably doesn't need it...
+
+ -- Darren Stalder Sun, 3 Dec 2000 20:24:34 -0800
+
+perl-5.6 (5.6.0-5) unstable; urgency=low
+
+ * Remove all alternatives related to the Perl packages.
+ (closes: #76432, #76524, #77247, #77303, #77619)
+ * Fixed suidperl manpage paths. Thanks to Jim Bray .
+ * Fixed suidperl postinst (typo). Thanks to Joey Hess
+ .
+ * Make all uses of local perl also make use of local perl modules
+ (oops). Thanks to Daniel Jacobowitz .
+ * Fixup and apply patch to an off by one error in decode \x{}. Thanks
+ to Kai Henningsen . (09_utf8_hex_char_fix)
+ * Fix 5.005 arch compatibility path now uses the correct architecture
+ rather than just i386. (closes: #78174)
+ * Verified that patch in #78048 fixes @_ segfault in ops.
+ (10_op_at_underscore_segfault) (closes #78048)
+
+ -- Darren Stalder Sat, 2 Dec 2000 15:40:04 -0800
+
+perl-5.6 (5.6.0-4) unstable; urgency=low
+
+ * put parentheses on the end of the call to _PATH_LOG in Sys::Syslog so
+ that it works. (closes: #76966)
+ Remove references to syslog.ph - 07_syslog_path_log.
+ * The debug target now uses ./Configure -deS to make it not look for a
+ tty. (closes: #77009)
+ * Fix make.base so it works for the newer version number. (closes: #47204)
+ * Add base.pm to perl-5.\d+-base for debconf (closes: #77145)
+ * Add XSLoader.pm to perl-5.\d+-base. Many module authors thought Dynaloader
+ took to much memory; XSLoader is a much smaller version.
+ (closes: #77280, #77292)
+ * Add File::Glob to perl-5.\d+-base so those scripts using globbing work under
+ 5.6. (closes: #77384)
+ * Add libdb2-dev to the Build-Depends list. (closes: #77758)
+ * Downgrade perl-5.\d+-suid to optional. (closes: #77841)
+ * Only mention the problem with updating to the new Berkeley DB format
+ if upgrading. (closes: #76425)
+ * 5.6.0-3 fixed the include paths already. (closes #76421)
+ * Change the documentation of AutoLoader to not suggest testing against
+ the text of an error message.
+ Change those places in Perl where an AUTOLOAD method does so.
+ 08_autoload_not_anglocentric (closes: #75256)
+
+ -- Darren Stalder Sun, 26 Nov 2000 17:16:07 -0800
+
+perl-5.6 (5.6.0-3) unstable; urgency=high
+
+ * Quick release since 5.6.0-1 had broken paths aand 5.6.0-2 was rejected
+ from Incoming (I had the source on both of them and it was only there
+ when -1 was installed.) closes: #76425)
+ * Make tests not run on big endian mips (from "Florian Lohoff"
+ ).
+ * Net::Ping makes invalid assumptions about UDP always returning a
+ hostname if there is any data on the socket - 06_netping_udp_fix.
+ (closes: #55427).
+ * Mention that perl-[.\d]+-doc overwrites parts of libansicolor-perl and
+ libpod-parser-perl. (closes: #76443)
+ * Note that I'll release the no-alternatives version of all three Perl
+ packages 2 days after this version is accepted so as to give it time
+ to hit the mirrors.
+
+ -- Darren Stalder Mon, 6 Nov 2000 22:06:14 -0800
+
+perl-5.6 (5.6.0-2) unstable; urgency=low
+
+ * Fix t/op/filetest.t so that it works under fakeroot -
+ debian/patches/03_fix_fakeroot_op_filetest
+ * Make the patched target append each patch as it goes to the 'patched'
+ file. Make the target .precious to keep make from removing it on
+ error. That would rather defeat the point.
+ * rm config.sh.static in clean target
+ * Shorten the make targets for building the static Perl:
+ - Now, build target builds both the static Perl and the libperl with
+ extensions and such.
+ - Only Perl and suid Perl get built. We don't need to build the
+ extensions when we're about to blow them away.
+ - We also wait performing the tests until we have the shared Perl.
+ * Actually get the paths correct for Perl, using a colon separated
+ privlib and archlib.
+ This uncovered 2 documentation and 1 Configure bug in Perl.
+ * Make NDBM_File use libgdbm's ndbm emulation instead of libdb's since
+ DB_File can't handle null keys currently. -
+ debian/patches/04_NDBM_uses_libgdbm
+ * Perl 5.6 has to conflict with the old data-dumper package. Since the
+ package isn't available anymore in potato or woody, this shouldn't be
+ a problem.
+ * incpush will create duplicate path entries in @INC if either
+ vendorlibexp or sitelibexp don't end in the version number of Perl.
+ Patch Configure to leave _stem fields empty if they'd be the same as
+ the field they are created from - 05_no_define_stem
+
+ -- Darren Stalder Sun, 22 Oct 2000 13:43:53 -0700
+
+perl-5.6 (5.6.0-1) unstable; urgency=low
+
+ * With the massive problems on my system, I've been unable to fix the
+ alternatives so I'm releasing this now so that people have a perl 5.6
+ to use.
+
+ -- Darren Stalder Thu, 18 Oct 2000 05:58:26 -0700
+
+perl-5.6 (5.6.0-0.3) unstable; urgency=low
+
+ * Patched up ExtUtils::MM_Unix to not use LD_RUN_PATH if the envar
+ NO_LD_RUN_PATH is true.
+ * Patched eg/rename to use the modern rewritten version from Robin
+ Barker (Robin.Barker@npl.co.uk).
+
+ -- Darren Stalder Mon, 16 Oct 2000 04:29:34 -0700
+
+perl-5.6 (5.6.0-0.2) unstable; urgency=low
+
+ * Add the threading version of Perl into the build system. XS
+ components need it even if users can't.
+ * Move the documentation to binary-indep
+ * Copy Brendan's patched target wholesale for the application of
+ patches.
+ * Adapt Brendan's libperl changes.
+ Be sure and link suidperl static.
+
+ -- Darren Stalder Wed, 27 Sep 2000 14:53:02 -0700
+
+perl-5.6 (5.6.0-0.1) unstable; urgency=low
+
+ * New upstream version. New numbering system.
+ * Note that there is currently no threading available with this
+ version. The 5.6 threading model (interpreter threads) isn't
+ currently usable from user space. 5.005 threads can be built but only
+ will be if there is a demand for it since perl-5.005 is available.
+
+ -- Darren Stalder Wed, 12 Apr 2000 01:12:45 -0700
+
+perl-5.005 (5.005.03-7) frozen unstable; urgency=low
+
+ * This needs to be put into frozen so that Alpha has the correct
+ syscall.ph constants (important bug #55794) and the copyright on the
+ perl-policy is correct (important bug #60233)
+ * Changed copyright on perl-policy.sgml from "the Debian Project" to
+ "Software in the Public Interest". This is so the document is
+ actually copyrighted by a legal entity. This closes: bug#60233.
+ * Completely regenerated the *.ph files. There appears to be a clean
+ separation these days of system specific stuff into the asm
+ directories. The only question would be the stuff in the bits/
+ directory since that seems to be autogenerated by the kernel.
+ The only one that I know needs it is bits/syscall.ph. I've written a
+ script to make sure it takes in all the syscalls as necessary.
+ Note that this is a somewhat long job since h2ph only does a 90% job,
+ so the generated .ph files take a bit of hand-editing. This closes:
+ bug#55794.
+ * Install the Perl Social Contract (Porting/Contract) into the doc
+ directory of the perl-5\d+-doc package. This closes #51963.
+ * Modified lib/ExtUtils/MM_Unix.pm so that if the environment variable
+ NO_LD_RUN_PATH is set true, then MakeMaker won't use LD_RUN_PATH in
+ the dynamic_lib method and therefore the .so won't have an rpath built
+ into them. This closes: bug#47116.
+
+ -- Darren Stalder Sun, 26 Mar 2000 22:25:37 -0800
+
+perl-5.005 (5.005.03-6) unstable frozen; urgency=low
+
+ * Change Recommends perl-doc to Suggests and add
+ $(DOCDIR)/Where_is_the_Documentation.gz closes: Bug#59145
+ * Make suidperl be suid even if suidmanager isn't installed. closes:
+ Bug#55521.
+
+ -- Darren Stalder Tue, 29 Feb 2000 04:58:56 -0800
+
+perl-5.005 (5.005.03-5.3) unstable frozen; urgency=low
+
+ * NMU
+ * adds frozen to distribution list...
+ * Compile with -mieee to compile options for alpha; closes: #55269
+
+ -- Randolph Chung Sat, 22 Jan 2000 09:46:14 -0700
+
+perl-5.005 (5.005.03-5.2) unstable; urgency=low
+
+ * NMU
+ * Missed GDBM modules last time... adding them back (closes: #55430)
+
+ -- Randolph Chung Tue, 18 Jan 2000 20:52:15 -0700
+
+perl-5.005 (5.005.03-5.1) unstable; urgency=low
+
+ * NMU
+ * Adds IO::File; closes: #54922
+
+ -- Randolph Chung Sat, 15 Jan 2000 01:44:59 -0700
+
+perl-5.005 (5.005.03-5) unstable; urgency=low
+
+ * Accept all of Raphael Hertzog's changes in the NMU. Thanks a lot
+ Raphael for helping me through this hard time. Your patches were
+ without flaw.
+ * I'll be fixing this up much more in the coming week. This release is
+ to fix the critical bug below.
+ * Change perl-5.005-doc to Suggests and make sure
+ /usr/share/doc/perl-5.005/Where_is_the_Documentation is installed.
+ Closes: #43078.
+ * Add overload.pm to perl-base as a temporary patch until debconf
+ doesn't use Data::Dumper anymore. Closes: #53428
+
+ -- Darren Stalder Mon, 3 Jan 2000 11:07:40 -0800
+
+perl-5.005 (5.005.03-4.1) unstable; urgency=low
+
+ * Non maintainer upload.
+ * Non-bugs that can be closed. Closes: #51656, #49812, #45908, #47122
+ * Removes perl-=version= if no more needed. Closes: #46187, #41436, #46188
+ Also calls update-alternatives remove only when removing
+ the package. Closes: #46581
+ * Correct permissions of perl-=version= in postinst after
+ update-alternatives to prevent failures like we had because
+ of a 0600 perl binary. Closes: #45898, #45875, #45877, #45898, #46369
+ * Removed LD_RUN_PATH="". Closes: #48544
+ * Added POSIX/autosplit.ix to perl-5.005-base. Closes: #50242
+ * Added Data::Dumper to perl-5.005-base. Closes: #50552
+ * Added IPC::Open2, IPC::Open3, Text::Wrap and Text::Tabs to
+ perl-5.005-base. Closes: #50937
+ * Added the perl5.005 binary too. Closes: #51289
+ * I moved many files from one packages to another. I had to add
+ a Replaces field in order to not cause problems.
+ * Corrected postinst from perl-5.005-doc.
+ Closes: #45863, #45870, #45887, #47870
+ * Added Errno.pm to perl-5.005-base. Closes: #47204
+ * Use relative symlinks for compatibility /usr/doc/* link. Closes: #48286
+ * Applied the patch for mipsel support. Closes: #48915
+ * perl-5.005-doc replaces: libcgi-perl until a better solution can be found
+ for the overlapping manpages.
+ Closes: #47245, #47844, #47996, #52632, #49371
+
+ -- Raphael Hertzog Sun, 19 Dec 1999 15:31:04 +0100
+
+perl-5.005 (5.005.03-4) unstable; urgency=low
+
+ * Many changes to make Perl build on Hurd from Marcus Brinkman, closes:
+ Bug#31621.
+ - Update debian/README to partially reflect the current situation; no
+ need to type root password; the problem with locales was fixed long ago.
+ - Update debian/copyright to talk about Debian rather than Debian/GNU;
+ There are now many O'Reilly books on Perl. Don't mention a number.
+ - Convince debian/make.base and debian/make.versions to use
+ $cpu-$system rather than $arch.
+ - Use linux and gnu as acceptable systems in debian/make.base
+ - Don't try to mkdir with '/' on the end of the name in debian/make.base
+ - Skip packages we don't build in debian/make.versions
+ - Change all maintainer scripts to use =cpu=-=system= rather than
+ =arch=
+ - Many changes to debian/rules to allow for conditional testing (not
+ on arm, hurd) and conditional building of threads (not on hurd,
+ 5.004)
+ I think this is the last thing (other than debian/control) that is
+ different between the builds. I'll parameterize debian/control on
+ the next build and we'll be happy.
+ * Change the paths in debian/rules and debian/perl-policy.MK to be FHS
+ compliant.
+ * Make the postinsts/prerms install/remove the compatibility symlink for
+ the move from FSSTD to FHS.
+ * Fix debian/make.versions to be FHS compliant as well.
+ * Use -fPIC in the cccdlflags so that Perl compiles with -fPIC everwhere
+ instead of -fpic in some places. This now complies with policy and
+ closes: Bug#41587, #43930.
+ * Have make test actually use make test-notty so as to not die on
+ automated compiles. Closes: Bug#33225.
+ * Use unlink instead of system("rm -f ...") in debian/make.base. I seem
+ to've gotten carried away using cp -a a while back and used system
+ instead of unlink. Brain needs to be on...
+ * Change the mention of the location of the GPL and Artistic copyright
+ files in debian/copyright from /usr/doc/copyright to
+ /usr/share/common-licenses.
+ * Fix Getopt::Long so that the documentation of the require_order
+ configuration option is now correct closes: Bug#39180.
+ * Embedding works now. It's probably as Tom Rothamel
+ said; Perl just needed to be recompiled with
+ glibc2.1. Closes: Bug#38615.
+ * In gv.c, Fix for 'use Safe;' with -w segfaults from Sarathy installed.
+ Closes: Bug#38533.
+ * In handy.h, only #define HAS_BOOL due to _G_HAVE_BOOL if we're using
+ g++. _G_HAVE_BOOL is defined in _G_config.h. This will probably be
+ included in a gcc program since stdio.h includes libio.h which
+ includes _G_config.h. Thanks to Greg Stark . This
+ can be closed once it is tested.
+ * Namespace was cleaned up a while ago, closes: bug#33844.
+ * Complaining locales was fixed a while ago, closes: bug#30207.
+ * Perl has been compiled with glibc for a while, closes: bug#29452.
+ * rename has been included, closes: bug#26616.
+ * cperl-mode is installed in the right place now, closes: bug#24249.
+ * Specify man1dir in Configure so that it goes to the FHS compliant
+ place.
+ * Fix the paths for $(LIBDIR)/ExtUtils/inst $(LIBDIR)/ExtUtils/xsubpp
+ $(LIBDIR)/File/DosGlob.pm to make lintian happy.
+ * Make $(LIBDIR)/ExtUtils/inst $(LIBDIR)/ExtUtils/xsubpp executable to
+ make lintian happy.
+ * Remove $(LIBDIR)/CGI/Fast.pm since we don't include FCGI.pm. This
+ satisfies lintian and closes: bug#44544.
+ * Applied patch from Jim Pick that adds the
+ appropriate arch-specific *.ph files in debian/.ph/asm-arm. This
+ would close bug#44605 but it's requiring some *.ph files he doesn't
+ supply. Mail sent off to him about this. Got
+ .ph/arm-arch/proc/shmparam.ph from him. Closes: bug#44605.
+ * Add Porting/patchls to /usr/bin, fix its path.
+ * install-doc should show be used in both remove && upgrade for prerm.
+ Add stuff to debian/doc.postinst to deal with this problem.
+ * Added re.pm and friends to perl-5.\d+-base. This closes: bug#45552.
+ * Removed the large number of extra POSIX autoloader modules. The
+ locale stuff that's part of POSIX don't need these.
+ * I've already moved to /usr/share/man in this package and so, this
+ closes: bug#45678.
+
+ -- Darren Stalder Wed, 22 Sep 1999 00:15:40 -0700
+
+perl-5.005 (5.005.03-3) unstable; urgency=low
+
+ * run with 'make LD_RUN_PATH=""' so that we don't have rpath information
+ in the shared libraries. (Many lintian warnings.)
+ * Make the shell read in the perl-base.preinst script not fail when
+ stdin is /dev/null. (Closes Bug#41598)
+ * Rename asm-ppc (as it is in the linux tree) to asm-powerpc (as policy
+ says it should be). Closes Bug#42803.
+ * Add DirHandle.pm to base. (I thought I had done this.) Closes
+ Bug#33229.
+ * Implemented patch from Julian Gilbey that fixes
+ up INSTALLPRIVLIB so as to make it easier for packagers. Closes
+ Bug#42421.
+ * Provide perl5-suid. Closes Bug#42884.
+
+ -- Darren Stalder Tue, 17 Aug 1999 00:15:41 -0700
+
+perl-5.005 (5.005.03-2) unstable; urgency=low
+
+ * Added arm architecture to debian/make.base, Closes Bug #40666.
+ (Thanks to Jim Pick )
+ * Made a few more changes to debian/rules to support bugs in fileutils
+ (see bug #39680 that I filed) as well as testing for arm under make
+ test and letting it fail. There has to be a better way to do this.
+ Fixes from Jim Pick
+ * perl-5.\d+-doc replaces perl (<< 5.004.05-1) so the manpages won't
+ conflict. Closes Bug #40689.
+ (Thanks to Joel Klecker )
+ * Conditionalize the inclusion of ndbm.h in ext/NDBM_File/NDBM_File.xs
+ so that m68k (still on glibc 2.0) will build. Closes Bug #40781.
+ (thanks to Roman Hodek )
+ * New version of perl-policy from Raphael.
+ * Fix Config.pm's startperl to be /usr/bin/perl (or
+ /usr/bin/perl-thread) when the build is done.
+ * Fix the installman[13]dir's in Config.pm so a simple perl Makefile.PL;
+ make test; make install will work from the user's point of view.
+ Closes bugs #34106, #15797, #28955.
+
+ -- Darren Stalder Wed, 7 Jul 1999 12:23:15 -0700
+
+perl-5.005 (5.005.03-1) unstable; urgency=low
+
+ * Release to Incoming on master.
+
+ -- Darren Stalder Thu, 1 Jul 1999 01:51:53 -0700
+
+perl-5.005 (5.005.03-0.10) unstable; urgency=low
+
+ * Oops. rename needs to be versioned along with all the other
+ commands.
+
+ -- Darren Stalder Mon, 28 Jun 1999 12:09:11 -0700
+
+perl-5.005 (5.005.03-0.9) unstable; urgency=low
+
+ * perl.1p.gz didn't have an update-alternatives --remove in the prerm.
+ * Make perl-$(version)-thread provide perl5-thread so packages using
+ perl-thread don't have to depend on a versioned perl-thread.
+ * No longer conflict with data-dumper so that it can remain installed
+ while perl-5.004 and the older packages need it.
+ * No longer ask if we should abort during the preinst. Perl 5.004 isn't
+ diabled with the installation of Perl 5.005, so there is no reason.
+ * Convince commands with no manpages that they should have an
+ unversioned symlink installed by update-alternatives.
+ * Installed updated eg/rename as a command. eg/rename was updated by
+ Robin Barker Sat, 26 Jun 1999 02:54:23 -0700
+
+perl-5.005 (5.005.03-0.8) unstable; urgency=low
+
+ * Fix typo in perl-base.postinst (=version instead of =version=)
+ * Add all of POSIX.pm,.so,.al to perl-base in an initial attempt at
+ supporting Internationalization in the base disks.
+ We'll need to remove *.al files that aren't necessary and put them in
+ perl.
+ * Automate the update-alternatives lines for the man pages for
+ perl-thread. This way when another Thread::*.3pm comes along, I don't
+ have to notice, it will.
+ * Add/Remove /usr/local/lib/site_perl/$arch-linux-thread in
+ thread.postinst/prerm if /usr/local/lib is writable.
+ * Fixed missing parens around $version when moving perl.1p back to perl
+ from perl-doc
+ * Mentioned installing 5.004_05 in copyright file as well as correcting
+ the path to CPAN on www.perl.com.
+ * Add Debian changelog to perl-base.
+ * Remaining typo fixes from Raphael:
+ /usr/man/man1/perl-=version=.1p.gz in postinst
+ startperl should be #!/usr/bin/perl-$(version)
+ the asm *.ph directories should be =version=/=arch=-version
+ * perl-$(version)-base should conflict with perl-base rather than perl.
+ This way, if someone has never installed the full Perl package, they
+ still conflict until all the non-versioned Perl is gone.
+ * rename threadperl-5.005 to perl-5.005-thread. Raphael is right;
+ tab-completion is handy.
+
+ -- Darren Stalder Tue, 22 Jun 1999 08:17:23 -0700
+
+perl-5.005 (5.005.03-0.7) unstable; urgency=low
+
+ * Integrated Raphael's changes without the debhelper stuff.
+ * Made cperl-mode.el be version specific with alternatives.
+ * Raphael updated the Standards-Version in control to 2.5.0.
+ * Raphael fixed up the base.postinst so that the newly installed
+ (not-yet-versioned) perl runs update-alternatives.
+ * Made perl-version-doc Recommend perl-version instead of just Suggest
+ it. perl-doc should only not be installed in special cases.
+ * Made perl-version-thread Priority: extra instead of optional.
+ Considering the experimental nature of threaded Perl right now, I'd
+ say it qualifies having specialized requirements.
+ * Applied the same changes to the i386-linux-thread tree as I did to the
+ i386-linux tree. Don't want my paths leaking into Config.pm.
+
+ -- Darren Stalder Sat, 19 Jun 1999 05:10:13 -0700
+
+perl-5.005 (5.005.03-0.6) unstable; urgency=low
+
+ * Removed io reference.
+ * Corrected perl-5.005-thread postinst/versionning/building.
+ * Added replaces data-dumper to perl-5.005-doc so that
+ the Data::Dumper man page may be overwritten without
+ forcing.
+
+ -- Raphael Hertzog Wed, 16 Jun 1999 00:10:00 +0200
+
+perl-5.005 (5.005.03-0.5) unstable; urgency=low
+
+ * Converted to debhelper.
+ * Added POSIX stuff into perl-5.005-base.
+ * Corrected many lintian warnings/errors
+ * WARNING: NDBM_File and DB_File built with libdb2 - this is
+ incompatible with old db files.
+
+ -- Raphael Hertzog Tue, 15 Jun 1999 15:22:01 +0200
+
+perl-5.005 (5.005.03-0.4) unstable; urgency=low
+
+ * New upstream release.
+ * Major changes to the debian files as we go to versioned Perls.
+
+ -- Darren Stalder Sat, 5 Jun 1999 00:08:42 -0700
+
+perl (5.005.02-1) unstable; urgency=low
+
+ * New upstream release. Note that this is a very basic release so that
+ module authors can release their stuff under 5.005. (Fixes Bug
+ #26072)
+ * Defined d_statblks in Configure (Fixes Bug #22367)
+ * Conflict, replace, and provide data-dumper since it's now provided by
+ Perl. (Fixes Bug #27543)
+ * Specifically turn off sfio for the standard release of Perl.
+
+ -- Darren Stalder Sat, 9 Jan 1999 16:43:23 -0800
+
+perl (5.004.04-6) frozen unstable; urgency=low
+
+ * Fix symlinks for perl-suid and perl-debug doc directories. (Fixes Bug
+ #19867)
+ * Make sure that *all* files are readable. (Fixes Bug #20791)
+ * Make changes to c2ph.PL (includes pstruct), perldoc, and s2p so that
+ they try to use POSIX::tmpnam() in creating temp files. Note that
+ perlbug already checks for the existence of the temp file before
+ creating it. (Fixes Bug #19805)
+ * Apply patch from next maintenance release so that -e scripts are kept
+ in memory rather than written to a temporary file.
+ * Fix typo in perlop(1p). Thanks to Richard Braakman
+ for pointing this out. (Fixes Bug #22488)
+ * Add /usr/doc/perl/perlfaq-is-free to explain Tom Christiansen's intent
+ with his perlfaq copyright. (Closes Bugs #10286, #22705)
+ * Fix typos in postrm scripts. Thanks to Mark Eichin
+ for this. (Fixes Bug #23107)
+
+ -- Darren Stalder Tue, 2 Jun 1998 04:42:47 -0700
+
+perl (5.004.04-5) unstable; urgency=low
+
+ * Add copyright file to perl-base since it makes it comply with the
+ standards and doesn't take up much space. (Fixes Bug #19384)
+ * Added files to base so that dpkg-ftp is fully supported. (Actually in
+ -4, but I forgot to mention it.) (Fixes Bug #16134)
+ * Added even more files to base so that libnet is fully supported.
+ (Fixes Bug #18338, #18593)
+ * Remove /usr/lib/perl5/DynaLoader.pm - yet another file left over from
+ disk install. (Fixes Bug #17970, #18823)
+ * Specify -DSTRUCT_TM_HASZONE to keep POSIX from dumping core. (Fixes
+ Bug #17393)
+ * debugperl and suidperl now have manpages that are symbolic links to
+ perl(1p). I debated linking debugperl(1p) to perlrun(1p) and
+ suidperl(1p) to perlsec(1p) but didn't think that was appropriate.
+ (Fixes Bugs #6295, #6330, #9847, #9995, #10102).
+ * Changed description of perldebug to say that it shows internals of
+ Perl and helps debug Perl. (Fixes Bug #17547).
+ * Changed the permissions on suidperl to give group and world read
+ access. It makes no sense to restrict read access when anyone can get
+ a copy of off CPAN.
+ * Also registered suidperl with suidmanager. (Fixes Bug #15702)
+ * Remove the execute permission and use strip --strip-unneeded on all
+ the .so's. (Fixes #5100, #5124, #6328, #6903)
+ * Sym-Link find2perl.1p.gz and pod2latex.1p.gz to undocumented.7.gz until
+ I can write something or it's provided. Sym-Link pod2text.1p.gz to
+ Pod::Text.3pm.gz. (Fixes #6328)
+ * Sym-link /usr/doc/perl/changelog to /usr/doc/perl/Changes so that the
+ latest upstream changes file has the proper name.
+ * Tell perl_archive in ExtUtils::MM_Unix to return -lc so that the
+ shared libraries built with MakeMaker have libc dependency information
+ embedded in them. Note that if the module specifies it's own
+ libraries, those will come after the -lc. If this is a problem, the
+ module should specify -lc in its library list.
+ * Use mkstemp to avoid security/dos race conditions in /tmp.
+
+ -- Darren Stalder Tue, 10 Mar 1998 23:00:09 -0800
+
+perl (5.004.04-4) unstable; urgency=low
+
+ * Add || true to the fixup lines in the perl.postinst - the previous
+ method didn't expose the error return of rmdir -p, the if;then;fi
+ method does. (Fixes Bugs #15854, #16412, #17328, #17425)
+ * Adapted patch from Stephen Zander so that Perl
+ knows to use getspnam if shadowing is enabled. (Needed extra
+ Configure bits added.) (Fixes Bug #15993)
+ * Added Conflicts: perl (<<5.004.04-2) to perl-base so you can't install
+ it with an older version of the perl package. (Fixes Bug #16810)
+ * Make sure that none of the gzipped examples are executable in
+ /usr/doc/perl/examples. (Fixes Bug #11978)
+ * Remove /usr/lib/perl5/IO/Handle.pm. It was left over from a disk
+ install where parts of Perl weren't handled by dpkg. Its presence is
+ causing version mis-matches. (Fixes Bug #15572)
+
+ -- Darren Stalder Sat, 24 Jan 1998 21:17:28 -0800
+
+perl (5.004.04-3) unstable; urgency=medium (High for those upgrading from bo)
+
+ * A start on building a libperl5.so.\d+. I'm going to put this into
+ since 1) Perl is linking with a static libperl.a and 2) people may
+ want to install libperl5.so.\d+ without installing perl.
+ * Oops. I hadn't considered the chance that the old perl package would
+ be replaced by the new perl package (without Perl) before perl.base
+ was configured. Added a pre-depends of perl-base (>=5.004.04-2) to
+ make sure that Perl is always installed on an upgrade.
+ * The first 90% of a project takes 90% of the time. The remaining 10%
+ of the time takes the other 90%. Building a libperl ran into some
+ interesting snags and will not debut with this version.
+ * Adapted patch by Herbert Xu that uses
+ if's in the postinst so that we don't get false negatives on
+ install. Took the chance to change the find/xargs to use -print0/-0
+ jic.
+
+ -- Darren Stalder Tue, 9 Dec 1997 12:21:48 -0800
+
+perl (5.004.04-2) unstable; urgency=medium
+
+ * Wonderful idea from Scott Ellis , set archlib
+ to be the major version so that maintenance versions don't break all
+ the arch-dependent perl-debian packages.
+ * Strip a2p, fixing Bug #14891.
+ * Files copied by make.base should keep hard-links.
+
+ -- Darren Stalder Fri, 28 Nov 1997 22:27:45 -0800
+
+perl (5.004.04-1) unstable; urgency=low
+
+ * New upstream (maintenance) version
+ * Turn off Perl 5.003 compatibility since this is the libc6
+ version. (should've been done last version)
+ * All tests finally pass now that locale test #102 was considered not
+ important for Perl.
+ * First attempt to get perl-base -really- working. (As opposed to what
+ I did in 5.003.07).
+
+ -- Darren Stalder Tue, 21 Oct 1997 02:20:05 -0700
+
+perl (5.004.02-1) unstable; urgency=low
+
+ * New upstream (maintenance) version
+ * Recompiled for libc6.
+ * Remove ftp.pl from the distribution since it depends on chat2.pl which
+ is obsolete and has been removed from the perl dist at the request of
+ its author.
+ * Remove the -I/usr/include/db since that was only for libc5.
+
+ -- Darren Stalder Mon, 7 Aug 1997 21:55:23 -0700
+
+perl (5.004-2) unstable; urgency=low
+
+ * I had a semi-colon in the wrong place such that the gzip of the
+ man-pages (which are now compressed) killed off the removal of the
+ build artifacts in Config.pm. Enough still ran so as to not be overly
+ noticeable. Registering bug against gzip since it should be possible
+ to not have an error if you try to compress already compressed files.
+
+ -- Darren Stalder Tue, 24 Jun 1997 00:52:12 -0700
+
+perl (5.004-1) unstable; urgency=low
+
+ * Perl 5.004 is released. Another debian version will follow that fixes
+ packaging problems.
+ * Applied patch from HJ Lu for libc6.
+ * Edit copyright file for correct version.
+ * Take the /bin/perl link out of the build tar's postinst.
+
+ -- Darren Stalder Thu, 15 May 1997 18:29:55 -0700
+
+perl (5.003.07-10) unstable frozen; urgency=HIGH
+
+ * SUID perl patch to fix buffer overrun that allows any user to get a
+ suid-root shell.
+
+ -- Darren Stalder Mon, 21 Apr 1997 20:50:21 -0700
+
+perl (5.003.07-9) unstable frozen; urgency=medium
+
+ * Applied patch from HJ Lu for libc6
+ * Removed perl-base from dist for release into bo
+ * This will be the last release that has /bin/perl as a link (or at all).
+
+ -- Darren Stalder Wed, 16 Apr 1997 01:02:07 -0700
+
+perl (5.003.07-8) unstable; urgency=low
+
+ * How'd that get in there?
+ Somehow a static version of postinst crept into the dist such that it
+ depended on 5.00320 and i386. *embarrased*
+
+ -- Darren Stalder Sat, 8 Mar 1997 14:06:21 -0800
+
+perl (5.003.07-7) unstable; urgency=low
+
+ * Compile the perl library with -D_REENTRANT for LinuxThreads. It's
+ still dangerous and there are problems with MULTIPLICITY (which this
+ isn't compiled with) as well.
+ * Sent the output of the various rmdir -p's in postinst to /dev/null so
+ that people don't see old gunk.
+ * Included target to add a comment to the changelog so that an automatic
+ package from untarring this in a new perl subversion works with the
+ correct version.
+
+ -- Darren Stalder Mon, 3 Mar 1997 01:35:20 -0800
+
+perl (5.003.07-6) unstable; urgency=low
+
+ * Changed perl, perl-suid, and perl-debug to section interpreters.
+ Changed perl-base to section base.
+ * Changed rules to determine the perl version dynamically so that it
+ doesn't have to be editted for each new version.
+ * Rebuld and upload so that perl will just pre-depend on libc5.4 rather
+ than libc5.4.17-1. This and -5 were destined for stable and 5.4.17-1
+ isn't available for that.
+
+ -- Darren Stalder Fri, 17 Jan 1997 19:04:13 -0800
+
+perl (5.003.07-5) unstable; urgency=low
+
+ * Moved config.over.MK to the debian directory so that all the files
+ that I add are there.
+ * Just ignore the mkdir on /usr/local as the easiest solution to the
+ NFS-ro /usr/local problem. Suggestion by Guy Maor .
+
+ -- Darren Stalder Fri, 10 Jan 1997 02:13:22 -0800
+
+perl (5.003.07-4) unstable; urgency=low
+
+ * Fixed problem with suidperl. It will actually run suid now.
+
+ -- Darren Stalder Sun, 15 Dec 1996 23:56:59 -0800
+
+perl (5.003.07-3) unstable; urgency=low
+
+ * Add check to postinst to check for old perlconfig created include
+ directories and removed them.
+ * Made perlbase's Config.pm use the correct install paths
+ * Made perl provide/replace/conflict with perlbase to replace it
+ properly
+ * No longer put libperl.a in suidperl since we not doing shared perl.
+
+ -- Darren Stalder Thu, 12 Dec 1996 23:40:09 -0800
+
+perl (5.003.07-2) unstable; urgency=low
+
+ * Changed Perl to provide io as well as conflict with it since it's been
+ subsumed into the main perl distribution.
+ * Applied patch from Nick to make use FileHandle; work transparently
+ although is should be use IO::Handle (or other appropriate IO::)
+ * Applied patch from Randy so that use sigtrap doesn't complain anymore.
+ * Applied patch from Paul that changes use strict tie; into a warning.
+ * Changed perl back to a static libperl
+ * Developed and packaged a perl-base to go on the base-floppies.
+
+ -- Darren Stalder Thu, 21 Nov 1996 04:13:51 -0800
+
+perl (5.003.07-1) unstable; urgency=medium
+
+ * added code to postinst/prerm that only creates the empty
+ /usr/local/lib/site_perl directory if /usr/local/lib is writable by
+ root (fixes Bug #5003)
+ * Updated to dpkg standards version 2.1.1.0 (fixes Bugs #3874, 4709)
+ * Pre-generated all the *.ph files that people will probably need. The
+ correct asm directory will have a symbolic link set during postinst.
+ (fixes Bugs #4493, 4739, 1856, 3770, 3277, 3803, 3814, 1099, 3784,
+ 1201, 1170, 3908, 2405, 4717, 2184, 1411, 2440)
+ I wonder if this is a record for the most number of bugs fixed by a
+ change.
+ * Changed debian.rules to generate a shared libperl for the main
+ executable with a static suidperl and debugperl. This should help
+ Fast-CGI, nvi, and if folks are using the compiler.
+ * Edited the copyright file to reflect current reality rather than
+ bygone days (fixes Bug #2589)
+ * Added Pre-depends: ldso to control file in case the user upgrades ldso
+ at the same time they upgrade Perl. (fixes Bug #2589)
+ * Made sure that all files in the examples directory
+ (/usr/doc/perl/examples) were readable (fixes Bug #3995, 4615, 4734,
+ 4870)
+ * Added symbolic link /usr/doc/perl/examples to point to the examples
+ directory. (fixes Bug #3997) (this is obsoleted by new standards)
+
+ -- Darren Stalder Mon, 28 Oct 1996 05:34:26 -0800
+
+Perl 5.003 Debian 2 Mon Jul 1 01:27:23 1996 Darren Stalder
+
+ * Changed Depends: libc5, libdb1, libgdbm1 to Pre-Depends
+ * Added check for pre-depends support into preinst
+ * Added a link to ../usr/bin/perl from /bin/perl
+ * Had Configure undef CSH so that we don't need to depend on csh
+ anymore.
+
+Perl 5.003 Debian 1 Tue Jun 25 02:25:00 1996 Darren Stalder
+
+ * Added patches from Charles Bailey to bring Perl up to 5.003
+ * Included patch set from Andy Dougherty to fix gconvert problem.
+
+Perl 5.002 Debian 10 Thu Jun 6 01:05:36 1996 Darren Stalder
+
+ * The permissions of many of the files were set right. Fix in
+ debian.rules so this can't happen again.
+
+Perl 5.002 Debian 9 Tue Jun 4 02:00:00 1996 Darren Stalder
+
+ * Changed recommends of perl from source | includes to libc5-dev
+ in accord with where the include files actually come from
+ * Added the following Priority fields: Perl - Important (from
+ Packages), perl-suid - Standard, perl-debug - Optional
+ * use dpkg-name instead of a manual move
+
+Perl 5.002 Debian 9 Wed May 1 00:13:32 1996 Darren Stalder
+
+ * Changed the '_' in the the package names to '-' per Ian Jackson.
+
+Perl 5.002 Debian 8 Sun Apr 28 18:28:34 1996 Darren Stalder
+
+ * Added Source and Section fields to all of the control files.
+
+Perl 5.002 Debian 8 Fri Apr 26 23:59:47 1996 Darren Stalder
+
+ * Added tcsh as well as c-shell to the dependency list. I'll
+ remove the tcsh once c-shell is provided by it.
+ * Changed the suidperl from being a question in the postinst to
+ being it's own package.
+ * Added perld (debugging perl) as a package. Both of these are
+ dependent on the specific version of perl. We'll see if this
+ causes a problem in upgrading.
+ * Changed mail address in postinst to debian-bugs@pixar.com. I've
+ got to do something about perlconfig
+
+Perl 5.002 Debian 8 Wed Apr 17 02:48:46 1996 Darren Stalder
+
+ * Changed the tcsh dependency to c-shell.
+ * Added the dosuid define to Configure so that perl would once
+ again create a suidperl. It was dropped from the upstream
+ release. There is a question in the postinst that asks if you
+ want it or not.
+
+Perl 5.002 Debian 8 Mon Mar 11 23:01:27 1996 Darren Stalder
+
+ * Added dependency on tcsh until the globbing works without
+ calling csh.
+
+Perl 5.002 Debian 7 Fri Feb 23 21:41:04 1996 Darren Stalder
+ * Added changes from the m68k project to make perl compile cleanly on m68k
+
+Perl 5.002 Debian 6 Thu Feb 8 07:42:52 1996 Darren Stalder
+
+ * Patch from Andreas from Test::Harness for where libwww tickled
+ some bugs.
+
+Perl 5.002 Debian 6 Tue Feb 6 21:20:37 1996 Darren Stalder
+
+ * Paul patched his modules so they comply with version-checking
+ and makes some of them strict clean
+ * Paul patched xsubpp to allow for empty prototypes (1.933)
+ * Patch from Larry to fix a broken study (it didn't know when a
+ string was modified)
+ * Patch from dean to shutup warnings from File:Path
+
+Perl 5.002 Debian 5 Tue Feb 6 03:52:37 1996 Darren Stalder
+
+ * Implemented basic (sev 1) changes to Config.pm for initial fix
+ on Bug #1916. The debian install paths are no longer embedded
+ in it.
+
+Perl 5.002 Debian 5 Mon Feb 5 19:02:01 1996 Darren Stalder
+
+ * Changed to new debian release number since the beta level
+ changed
+ * Larry released beta3
+ * Some extra configure variables creeped into Configure. Fixed by
+ Tim
+ * Revamped 32bit overflow patch for beta3 from Chip
+ * Don't allow globbing to take place on open if strict refs is in
+ place
+ * Andreas upgraded Test::Harness to 1.06
+ * Selfstubber nees to tell Exporter that it's autoloaded (andreas)
+ * Fix so that reading the _DATA_ file handle doesn't freeze at EOF
+ (Chip)
+ * debugger still had old version at the end. Deleted (Ilya)
+ * patch to avoid segv's in certain globs (Chip)
+ * make autoloader warnings go away (Ilya)
+ * fix to Makefile.SH so that you don't *have* to have . in your
+ path (Roderick Shertler)
+ * Dean upgraded h2xs to 1.15
+
+Perl 5.002 Debian 4 Sat Feb 3 02:10:40 1996 Darren Stalder
+
+ * Ilya released a new version of the debugger
+ * A SEGV based on magic is fixed with a patch from Chip
+
+Perl 5.002 Debian 4 Tue Jan 30 01:08:52 1996 Darren Stalder
+
+ * Paul upgraded xsubpp to 1.932
+ * The documentation for the -M switch had been dropped somewhere.
+ This puts it back in. (from Tom)
+ * $@ would append to itself with each die
+
+Perl 5.002 Debian 4 Fri Jan 26 03:15:26 1996 Darren Stalder
+
+ * perlxs.pod documentation patch by Dean
+
+Perl 5.002 Debian 4 Wed Jan 24 00:45:04 1996 Darren Stalder
+
+ * Andy added an extra $ to nm when he applied my patch - fixed
+ * Paul upgraded xsubpp to 1.931
+ * Started using the debian-extract-changes.pl from the libdb package
+
+Perl 5.002 Debian 4 Tue Jan 23 11:43:51 1996 Darren Stalder
+
+ * Ilya fixed parts of the Readline pod docs
+ * Andy left out a piece on the pod/Makefile patch
+ * patch to DBL_BIG in case someone tries to build this with a.out
+
+Perl 5.002 Debian 4 Mon Jan 22 03:22:34 1996 Darren Stalder
+
+ * Upgraded to perl5.002beta2 from Andy
+ * Added in the pod fixes from Tom
+ * Upgraded xsubpp to 1.930 from Paul
+ * The debugger was added in twice in 2b2, patch2b2a fixes this
+ * Added a pod/Makefile fix from Andy
+ * Dean upgraded h2x2 to version 1.14 - patched
+
+Perl 5.002 Debian 4 Wed Jan 10 04:36:02 1996 Darren Stalder
+
+ * Added patches for the following:
+ hex('80000000'), 0x80000000 should be the same - Chip Salzenberg
+ a variety of fixes for File::Find - Tim Bunce
+ perlembed.pod is less misleading - Tim Bunce
+ fixes for perlre.pod and perl.pod - Hallvard B Furuseth
+
+Perl 5.002 Debian 4 Sun Jan 7 02:47:14 1996 Darren Stalder
+
+ * Upgraded to the upstream version of perl5.002beta1h from Andy
+ * Removed the a.out generation from debian.rules since I'm not
+ making a.out packages anymore
+ * Changed pod/Makefile from PERL = perl to PERL = ../miniperl so
+ that a build will work if you don't have perl installed already
+ * Changed installperl to not try to guess about links if you
+ installing to a different directory than you will be running
+ from (debian-tmp/usr/bin)
+
+Perl 5.002 Debian 4 Fri Dec 29 23:57:14 1995 Darren Stalder
+
+ * Added a check to see if /usr/local/include is there before
+ attempting to build .ph files from the .h files there (Bug #1856)
+
+Perl 5.002 Debian 4 Fri Dec 22 01:39:08 1995 Darren Stalder
+
+ * Added the patch 5.002b1g from Tom - a documentation only patch
+
+Perl 5.002 Debian 3 Tue Dec 19 01:47:19 1995 Darren Stalder
+
+ * Perl now uses the new sonames for libgdbm and libdb with
+ dependencies on the new names (libdb1 and libgdbm1)
+
+Perl 5.002 Debian 3 Mon Dec 18 03:23:04 1995 Darren Stalder
+
+ * Summary of additions:
+ Added patches a-f from Andy
+ Applied the patch to implement Safe perl that will be coming out
+ soon.
+ Applied some documentation patches - perldata/dsc/mod/ref by
+ TomC, perlembed by JonO, tiehash by RandyR, and perlxs by DeanR
+ * Had to cruft up the Configure script so that it does an nm on
+ static libs and an nm -D on shared libs. I thought just nm
+ should work on both.
+
+Perl 5.002 Debian 2 Mon Nov 27 02:34:59 1995 Darren Stalder
+
+ * Removed find lines in debian.rules binary install since
+ installperl does a good job of it
+ * Removed find lines in postinst/perlconfig since the include file
+ permissions and modes should be fine.
+ * moved /usr/doc/perl/example_code to /usr/doc/examples/perl
+ * Changed reference in example README to 'eg' directory to
+ examples directory
+ * Changed some bad paths in example code directory
+ * Had install check and not ask about installing in odd places if
+ debian-tmp is in the install-path
+
+Perl 5.002 Debian 1 Sat Nov 25 01:05:15 1995 Darren Stalder
+
+ * Removed manual generation of manpages in debian.rules file. Now
+ just call ./installman with the appropriate arguments.
+ * Changed extensions for man1 pages to 1p and man3 pages to 3pm
+ * Changed Configure so that it actually listens when you tell it
+ what extensions to use for for man1 and man3.
+ * Changed references to /usr/local and perl5.000 in the man pages
+ * Changed references in scripts from /usr/local to /usr
+ * Setup config.over file to fix-up config.sh to install into
+ debian-tmp/usr/* instead of trying to do it in sh. The shared
+ libs weren't going in the right place.
+ * Generated absolute path in config.over since the install runs
+ from many different subdirectoris
+
+Perl 5.002 Debian 1 Wed Nov 22 20:42:34 1995 Darren Stalder
+ * Applied some doc changes to perlre.pod
+
+Perl 5.002 Debian 1 Tue Nov 21 02:57:54 1995 Darren Stalder
+
+ * Updated to 5.002beta1.
+ * Changed the prerm/postinst scripts to reflect the new version
+ specific *.ph directories
+ * Added dependencies on libgdbm and libdb, giving support for
+ those databases.
+ * Removed gdbm capability from aout version. User can add it if
+ necessary without recompiling perl.
+ * SDBM problem went away with patchlevel 2.
+
+Perl 5.002 Debian 1 Sat Nov 18 00:16:15 1995 Darren Stalder
+
+ * I (Darren Stalder) took over as maintainer of Perl.
+ * Put quotes around $Config{archlibexp} in h2ph.PL to prevent -w
+ warnings.
+ * Changed the various debian files to reflect the new status.
+ * Changed the debian.rules to use elf as the primary development
+ platform with a.out being secondary.
+ * Having problems with SDBM.
+
+Perl 5.001 Debian 7 (5.001n) - ??-??-95 Ray Dassen
+* UNRELEASED
+* Longer Description field in control file.
+* Changed Maintainer field to myself. This package should still be considered
+ orphaned though.
+* a.out version now does dynamic loading via libdld.
+
+Perl 5.001 Debian 6 (5.001n) - 04-11-95 Ray Dassen
+* Updated to 5.001n: big patch, small problems remain.
+* debian.rules now passes definitions to Configure, instead of running
+ Configure with a modified hints/linux.sh.
+* Use a variable in debian.rules to test the binary format.
+* With ELF, DB_File support is disabled (rather ad hoc).
+* Use softlinks for suidperl and perl.
+* Added explicit Depends: elf-libc, which was implicit (via elf-libgdbm).
+
+Perl 5.001 Debian 5 (5.001m) - 16-10-95 Ray Dassen
+* ELF version has GDBM support; depends on elf-libgdbm
+* Diff now relative to Andy Dougherty's patches (these are unofficial, but
+ de facto standard).
+
+Perl 5.001 Debian 4 - 13-10-95 Ray Dassen
+* Interim release, since perl appears to be orphaned.
+* Updated to 5.001m.
+
+Perl 5.001 Debian 3 - 5/9/95 Carl Streeter
+* Fixed Bug#219. h2ph was making output which didn't work.
+* put magic in the postinst to fix it. This opens the can
+* of worms whereby I fix all of h2ph's messups. Ugh.
+
+Perl 5.001 Debian 2 - 5/8/95 Carl Streeter
+* Added dialog.pl interface to dialog for Jim Robinson
+
+Perl 5.001 Debian 1 - 3/1/95 Carl Streeter
+* Updated perl version to 5.001.
+* Added black magic to figure out if a kernel tree was installed
+* Yelled a lot if one wasn't
+* added unofficial patches a-e from perl5-porters
+* added 'perlconfig' script to generate all possible header files
+ (Just a copy of postinst, really)
+* perl now passes all of the tests.
+
+Perl 5.000 Debian 5 - 3/1/95 Carl Streeter
+* fixed bug in h2ph handling on subdirectories
+* merged all of the unofficial patches from the perl5-porters mailing list.
+
+Perl 5.000 Debian 4 - 3/1/95 Carl Streeter
+* h2ph now makes all useful headers.
+
+Perl 5.000 Debian 3 - 2/28/95 Carl Streeter
+* called h2ph to make the handy perl headers.
+* Put the example code and emacs modes in /usr/doc
+
+Perl 5.000 Debian 2 - 2/27/95 Carl Streeter
+* generally fixed it up so it was useful for debian.
+
+Perl 5.000 Debian 1 - Robert Sanders
+* Initial release.
+
+Local variables:
+mode: debian-changelog
+End:
--- perl-5.8.8.orig/debian/libcgi-fast-perl.docs
+++ perl-5.8.8/debian/libcgi-fast-perl.docs
@@ -0,0 +1,3 @@
+debian/libcgi-fast-perl.README.Debian libcgi-fast-perl/README.Debian
+debian/changelog libcgi-fast-perl/changelog.Debian
+debian/copyright libcgi-fast-perl/copyright
--- perl-5.8.8.orig/debian/released-versions
+++ perl-5.8.8/debian/released-versions
@@ -0,0 +1,11 @@
+5.005
+5.6.0
+5.6.1
+5.8.0
+5.8.1
+5.8.2
+5.8.3
+5.8.4
+5.8.6
+5.8.7
+5.8.8
--- perl-5.8.8.orig/debian/perl-doc.postrm
+++ perl-5.8.8/debian/perl-doc.postrm
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+
+if [ "$1" = remove ]
+then
+ dpkg-divert --remove --package perl-doc --rename \
+ --divert /usr/bin/perldoc.stub /usr/bin/perldoc
+fi
+
+exit 0
--- perl-5.8.8.orig/debian/perl-doc.preinst
+++ perl-5.8.8/debian/perl-doc.preinst
@@ -0,0 +1,9 @@
+#!/bin/sh -e
+
+if [ "$1" = install ] || [ "$1" = upgrade ]
+then
+ dpkg-divert --add --package perl-doc --rename \
+ --divert /usr/bin/perldoc.stub /usr/bin/perldoc
+fi
+
+exit 0
--- perl-5.8.8.orig/debian/headers
+++ perl-5.8.8/debian/headers
@@ -0,0 +1,8 @@
+asm/termios.h
+syscall.h
+syslimits.h
+syslog.h
+sys/ioctl.h
+sys/socket.h
+sys/time.h
+wait.h
--- perl-5.8.8.orig/debian/perl-doc.docs
+++ perl-5.8.8/debian/perl-doc.docs
@@ -0,0 +1,6 @@
+Changes5.* perl
+Porting/Contract perl
+Porting/patching.pod perl
+Porting/pumpkin.pod perl
+README perl
+README.Y2K perl
--- perl-5.8.8.orig/debian/copyright
+++ perl-5.8.8/debian/copyright
@@ -0,0 +1,27 @@
+This package was debianized by Brendan O'Dea on
+Thu, 17 Aug 2000 16:10:54 +1000.
+
+It was downloaded from:
+
+
+
+Upstream Authors:
+
+ Larry Wall et. al. (see /usr/share/doc/perl/AUTHORS).
+
+Copyright:
+
+ Copyright 1989-2001, Larry Wall All rights reserved.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of either:
+
+ a) the GNU General Public License as published by the Free Software
+ Foundation; either version 1, or (at your option) any later
+ version, or
+
+ b) the "Artistic License" which comes with Perl.
+
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL' and
+ the Artistic Licence in `/usr/share/common-licenses/Artistic'.
--- perl-5.8.8.orig/debian/config.debian
+++ perl-5.8.8/debian/config.debian
@@ -0,0 +1,106 @@
+#!/bin/bash
+
+eval $(echo '#include "./patchlevel.h"
+SETver=PERL_REVISION.PERL_VERSION;
+SETfullver=$ver.PERL_SUBVERSION' | gcc -E - | sed -n '/^SET/{s///;s/ //gp;}')
+
+ccflags=-DDEBIAN
+arch_cpu=${DEB_BUILD_ARCH_CPU:-$(dpkg-architecture -qDEB_BUILD_ARCH_CPU)}
+gnu_type=${DEB_BUILD_GNU_TYPE:-$(dpkg-architecture -qDEB_BUILD_GNU_TYPE)}
+optimize=
+
+case "$1" in
+ --static) # static perl
+ build_type=static
+ opts="-Uuseshrplib -Dd_dosuid";;
+
+ --debug) # debugperl
+ build_type=debug
+ optimize=-g
+ opts="-Uuseshrplib";;
+
+ --shared) # shared library
+ build_type=shared
+ opts="-Duseshrplib -Dlibperl=libperl.so.$fullver -Dd_dosuid";;
+
+ --version)
+ exec echo $ver;;
+
+ --full-version)
+ exec echo $fullver;;
+
+ --strip)
+ case ",$DEB_BUILD_OPTIONS," in
+ *[,\ ]nostrip[,\ ]*) exec echo no;;
+ *) exec echo yes;;
+ esac;;
+
+ --test-target)
+ case ",$DEB_BUILD_OPTIONS," in
+ *[,\ ]nocheck[,\ ]*) exit;;
+ *[,\ ]x-perl-notest[,\ ]*) exit;;
+ *) exec echo test;;
+ esac;;
+
+ --install-type)
+ # The default installation type for /usr/bin/perl of shared or
+ # static may be changed by including x-perl-static or x-perl-shared
+ # in DEB_BUILD_OPTIONS. The default is shared except for i386 where
+ # there is a measurable performance penalty.
+ case ",$DEB_BUILD_OPTIONS," in
+ *[,\ ]x-perl-static[,\ ]*) exec echo static;;
+ *[,\ ]x-perl-shared[,\ ]*) exec echo shared;;
+ esac
+ case "$arch_cpu" in
+ i386) exec echo static;;
+ *) exec echo shared;;
+ esac;;
+
+ *) echo "$0: need --shared, --static, or --debug option"
+ exit 2;;
+esac
+
+case "$arch_cpu:$build_type" in
+ sh4:*) # required to correctly handle floating point on sh4
+ ccflags="$ccflags -mieee";;
+
+ m68k:shared) # work around an optimiser bug
+ ccflags="$ccflags -fno-regmove";;
+esac
+
+case ",$DEB_BUILD_OPTIONS," in
+ *[,\ ]noopt[,\ ]*)
+ optimize="$optimize${optimize:+ }-O0";;
+esac
+
+test -n "$optimize" && opts="$opts -Doptimize='$optimize'"
+
+# need bash when sourcing config.over
+eval /bin/bash Configure \
+ -Dusethreads \
+ -Duselargefiles \
+ -Dccflags=\'$ccflags\' \
+ -Dcccdlflags=-fPIC \
+ -Darchname=$gnu_type \
+ -Dprefix=/usr \
+ -Dprivlib=/usr/share/perl/$ver \
+ -Darchlib=/usr/lib/perl/$ver \
+ -Dvendorprefix=/usr \
+ -Dvendorlib=/usr/share/perl5 \
+ -Dvendorarch=/usr/lib/perl5 \
+ -Dsiteprefix=/usr/local \
+ -Dsitelib=/usr/local/share/perl/$fullver \
+ -Dsitearch=/usr/local/lib/perl/$fullver \
+ -Dman1dir=/usr/share/man/man1 \
+ -Dman3dir=/usr/share/man/man3 \
+ -Dsiteman1dir=/usr/local/man/man1 \
+ -Dsiteman3dir=/usr/local/man/man3 \
+ -Dman1ext=1 \
+ -Dman3ext=3perl \
+ -Dpager=/usr/bin/sensible-pager \
+ -Uafs \
+ -Ud_csh \
+ -Ud_ualarm \
+ -Uusesfio \
+ -Uusenm \
+ $opts -des
--- perl-5.8.8.orig/debian/fixheaders
+++ perl-5.8.8/debian/fixheaders
@@ -0,0 +1,31 @@
+#!./perl.static -w
+
+#
+# Fix up generated .ph files
+#
+
+use strict;
+use File::Find;
+use Config;
+
+my @args = @ARGV;
+@ARGV = ();
+find sub { push @ARGV, $File::Find::name if -f and /\.ph$/ }, @args;
+
+$^I = '';
+
+while (<>)
+{
+ # discard casts
+ s/(? [ qw {} ],
+ snpp_hosts => [ qw {} ],
+ pop3_hosts => [ qw {} ],
+ smtp_hosts => [ qw {} ],
+ ph_hosts => [ qw {} ],
+ daytime_hosts => [ qw {} ],
+ time_hosts => [ qw {} ],
+ inet_domain => undef,
+ ftp_firewall => qq {},
+ ftp_firewall_type => qq {},
+ ftp_ext_passive => 0,
+ ftp_int_passive => 0,
+ local_netmask => qq {},
+}
--- perl-5.8.8.orig/debian/checkperl
+++ perl-5.8.8/debian/checkperl
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+# check for a working /usr/bin/perl
+
+test -x /usr/bin/perl && exit 0
+
+echo "
+************************************************************************
+You don't seem to have a working /usr/bin/perl. If you are attempting
+to bootstrap a port, you can use the static perl in this directory to
+complete the build by creating a temporary symlink:
+
+ln -s `pwd`/perl.static /usr/bin/perl
+
+and exporting PERLLIB=`pwd`/lib .
+************************************************************************
+"
+
+exit 1
--- perl-5.8.8.orig/debian/perl-doc.postinst
+++ perl-5.8.8/debian/perl-doc.postinst
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+
+if [ "$1" = configure ]
+then
+ # The 5.6.0 packages had /usr/share/doc/perl-doc as a directory,
+ # now a symlink to perl. At this point the directory should be
+ # empty, convert to a symlink.
+ docs=/usr/share/doc
+ if [ ! -L $docs/perl-doc ] && [ -d $docs/perl-doc ]
+ then
+ rmdir $docs/perl-doc && ln -s perl $docs/perl-doc
+ fi
+fi
+
+exit 0
--- perl-5.8.8.orig/debian/perl-debug.files
+++ perl-5.8.8/debian/perl-debug.files
@@ -0,0 +1,2 @@
+usr/bin/debugperl
+usr/lib/libperld.a
--- perl-5.8.8.orig/debian/libperl5.8.files
+++ perl-5.8.8/debian/libperl5.8.files
@@ -0,0 +1 @@
+nothing_to_install_on_this_architecture
--- perl-5.8.8.orig/debian/perl.docs
+++ perl-5.8.8/debian/perl.docs
@@ -0,0 +1 @@
+Changes perl/changelog
--- perl-5.8.8.orig/debian/config.over
+++ perl-5.8.8/debian/config.over
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+# convert install paths
+eval $(set | sed -n 's!^\(install.*\)=/usr/!\1='$(pwd)'/debian/tmp/usr/!p')
+
+# we use a different method to get old site versions into @INC
+sitelib_stem=
+
+# no versions under vendorlib
+vendorlib_stem=
+
+# remove -rpath (shared libperl is moved to /usr/lib by rules)
+tmp=
+for t in $ccdlflags
+do
+ case $t in
+ -Wl,-rpath,*) ;;
+ *) tmp="$tmp${tmp:+ }$t"
+ esac
+done
+
+ccdlflags="$tmp"
+
+# -lnsl is brought in automatically via nsswitch as required
+# -lutil is a glibc BSD compat library which we don't use
+for var in libs perllibs
+do
+ eval val=\"\$$var\"
+ tmp=
+ for t in $val
+ do
+ case $t in
+ -lnsl|-lutil) ;;
+ *) tmp="$tmp${tmp:+ }$t"
+ esac
+ done
+
+ eval $var=\"$tmp\"
+done
+
+# set previous version dirs
+inc_version_list=
+inc_version_list_init=0
+while read ver
+do
+ dpkg --compare-versions "$ver" lt "$version" || break
+ dpkg --compare-versions "$ver" lt "$api_versionstring" && continue
+ inc_version_list="$ver${inc_version_list:+ }$inc_version_list"
+ inc_version_list_init="\"$ver\",$inc_version_list_init"
+done debian/rules binary-arch
+
+ debian/config.debian
+ a helper script, invoked by debian/rules to run Configure with
+ various options.
+
+ debian/config.over
+ used to fiddle some config.sh variables (copied to the source
+ directory by the build process where it is picked up by Configure).
+
+ debian/patches
+ diretory containg the patches applied (see above). The procedure
+ for adding a new patch is:
+
+ fakeroot debian/rules clean
+ debian/rules unpatch
+
+ at this point, the directory should be identical to the upstream
+ source with the exception of the debian subdir. Any changes are
+ made, patches applied etc., then:
+
+ (cd ..; diff -Naur --exclude=debian perl-5.8.2.orig perl-5.8.2) \
+ >debian/patches/
+ patch -Rp1
+ debian/rules patch
+
+ The new patch should then be edited to add a descriptive text block
+ at the top.
+
+ debian/released-versions
+ contains a list of released Debian versions, used by the
+ debian/mkprovides script to generate a list of perlapi-
+ provides for perl-base indicating the released versions the package
+ is compatible with.
+
+ debian/headers
+ list of C headers to process with h2ph, which is run with "-a" to
+ pick up any required includes--keep this base list as short as
+ possible.
+
+ debian/*.{files{,.static,.shared},docs,moduledocs}
+ used to split packages; see the comments/code in the install-stamp
+ target of debian/rules.
+
+Credits
+-------
+
+Previous maintainers of Debian Perl packages:
+
+ Ray Dassen ,
+ Carl Streeter ,
+ Robert Sanders and
+ Darren Stalder .
+
+ -- Brendan O'Dea Tue, 8 Mar 2005 19:30:38 +1100
--- perl-5.8.8.orig/debian/errno.ph
+++ perl-5.8.8/debian/errno.ph
@@ -0,0 +1,2 @@
+use Errno ':POSIX';
+1;
--- perl-5.8.8.orig/debian/libcgi-fast-perl.files
+++ perl-5.8.8/debian/libcgi-fast-perl.files
@@ -0,0 +1,2 @@
+usr/share/man/man3/CGI::Fast.3perl
+usr/share/perl/*/CGI/Fast.pm
--- perl-5.8.8.orig/debian/splitdoc
+++ perl-5.8.8/debian/splitdoc
@@ -0,0 +1,97 @@
+#!./perl.static -w
+
+#
+# Split POD documentation out of base modules and remove auto-loaded
+# subroutines
+#
+
+BEGIN { unshift @INC, 'lib' }
+use strict;
+use File::Find;
+use File::Path;
+use IO::File;
+
+my @args = @ARGV;
+@ARGV = ();
+find sub { push @ARGV, $File::Find::name if -f and /\.pm$/ }, @args;
+die "$0: no modules under @args?\n" unless @ARGV;
+
+$^I = '';
+$/ = '';
+
+my %auto;
+my $in_pod;
+my $pod;
+
+while (<>)
+{
+ if ($in_pod ||= /^=\w/)
+ {
+ unless ($pod)
+ {
+ my $file = $ARGV;
+ my $dir;
+ for ($file)
+ {
+ s/\.pm$/.pod/;
+ s/perl-base/perl-doc/;
+ s!/usr/lib/!/usr/share/!;
+ ($dir) = m!(.*)/!;
+ }
+
+ mkpath $dir unless -d $dir;
+ $pod = IO::File->new(">$file")
+ or die "$0: can't create $file ($!)\n";
+ }
+
+ if (/^=cut\n/)
+ {
+ $in_pod = 0;
+ }
+ else
+ {
+ $pod->print($_);
+ }
+ }
+ else
+ {
+ $auto{$ARGV}++ if /(use|require)\s+AutoLoader\b/;
+ print;
+ }
+}
+continue
+{
+ if (eof)
+ {
+ close ARGV;
+ if ($pod)
+ {
+ $pod->print("=cut\n");
+ $pod->close;
+ undef $pod;
+ }
+
+ $in_pod = 0;
+ }
+}
+
+# strip everyting following __END__ in modules which use AutoLoader
+$/ = "\n";
+my $end;
+
+exit unless @ARGV = keys %auto;
+
+while (<>)
+{
+ print unless $end ||= /^__END__$/;
+}
+continue
+{
+ if (eof)
+ {
+ close ARGV;
+ $end = 0;
+ }
+}
+
+exit
--- perl-5.8.8.orig/debian/perl-modules.files
+++ perl-5.8.8/debian/perl-modules.files
@@ -0,0 +1 @@
+usr/share/perl
--- perl-5.8.8.orig/debian/watch
+++ perl-5.8.8/debian/watch
@@ -0,0 +1,2 @@
+version=2
+http://www.perl.com/CPAN/src/5.0/ (?:.*/)?perl-(5\.\d*[02468](?:\.[\d.]+)?)\.tar\.gz debian uupdate
--- perl-5.8.8.orig/debian/patches/54_debian_perldoc-r
+++ perl-5.8.8/debian/patches/54_debian_perldoc-r
@@ -0,0 +1,16 @@
+In a Debian installation, not all directories in @INC need exist (the
+site directories for example are created on demand).
+
+Suggested by Joey Hess .
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Pod/Perldoc.pm perl-5.8.8/lib/Pod/Perldoc.pm
+--- perl-5.8.8.orig/lib/Pod/Perldoc.pm 2004-12-29 23:15:33.000000000 +1100
++++ perl-5.8.8/lib/Pod/Perldoc.pm 2006-02-02 23:38:49.000000000 +1100
+@@ -1533,6 +1533,7 @@
+ $self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
+ for ($i=0; $i<@dirs; $i++) {
+ $dir = $dirs[$i];
++ next unless -d $dir; # some dirs in @INC are optional
+ ($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
+ if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
+ or ( $ret = $self->check_file($dir,"$s.pm"))
--- perl-5.8.8.orig/debian/patches/55_debian_fakeroot
+++ perl-5.8.8/debian/patches/55_debian_fakeroot
@@ -0,0 +1,33 @@
+Modify the setting of LD_LIBRARY_PATH to append pre-existing values at the
+time the rule is evaluated rather than when the Makefile is created.
+
+This is required when building packages with dpkg-buildpackage and fakeroot,
+since fakeroot (which now sets LD_LIBRARY_PATH) is not used for the "build"
+rule where the Makefile is created, but is for the clean/binary* targets.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/Makefile.SH perl-5.8.8/Makefile.SH
+--- perl-5.8.8.orig/Makefile.SH 2006-01-24 23:49:44.000000000 +1100
++++ perl-5.8.8/Makefile.SH 2006-02-02 23:40:37.000000000 +1100
+@@ -43,12 +43,7 @@
+ true)
+ # Prefix all runs of 'miniperl' and 'perl' with
+ # $ldlibpth so that ./perl finds *this* shared libperl.
+- case "$LD_LIBRARY_PATH" in
+- '')
+- ldlibpth="LD_LIBRARY_PATH=`pwd`";;
+- *)
+- ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
+- esac
++ ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
+
+ pldlflags="$cccdlflags"
+ static_target='static_pic'
+@@ -101,7 +96,7 @@
+ ;;
+ esac
+ case "$ldlibpthname" in
+- '') ;;
++ ''|LD_LIBRARY_PATH) ;;
+ *)
+ case "$osname" in
+ os2)
--- perl-5.8.8.orig/debian/patches/68_debian_arm_fp
+++ perl-5.8.8/debian/patches/68_debian_arm_fp
@@ -0,0 +1,29 @@
+Some tests fail on ARM due to non-IEEE fp rounding rules in the kernel
+fp emulation.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Math/Complex.t perl-5.8.8/lib/Math/Complex.t
+--- perl-5.8.8.orig/lib/Math/Complex.t 2005-09-14 23:16:59.000000000 +1000
++++ perl-5.8.8/lib/Math/Complex.t 2006-02-03 00:50:06.000000000 +1100
+@@ -34,6 +34,11 @@
+ } # cos(), sin(), cosh(), sinh(). The division
+ # of doubles is the current suspect.
+
++my %skip;
++if (`uname -m` =~ /^arm/) {
++ $skip{$_} = 'non-IEEE fp rounding' for 289, 509;
++}
++
+ while () {
+ s/^\s+//;
+ next if $_ eq '' || /^\#/;
+@@ -563,7 +568,9 @@
+
+ print "# @_\n";
+
+- if ("$got" eq "$expected"
++ if ($skip{$test}) {
++ print "ok $test # skipped: $skip{$test}\n";
++ } elsif ("$got" eq "$expected"
+ ||
+ ($expected =~ /^-?\d/ && $got == $expected)
+ ||
--- perl-5.8.8.orig/debian/patches/62_debian_cpan_definstalldirs
+++ perl-5.8.8/debian/patches/62_debian_cpan_definstalldirs
@@ -0,0 +1,16 @@
+Some modules which are included in core set INSTALLDIRS => 'perl'
+explicitly in Makefile.PL. This makes sense for the normal @INC
+ordering, but not ours. Provide a sensible default.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/CPAN/FirstTime.pm perl-5.8.8/lib/CPAN/FirstTime.pm
+--- perl-5.8.8.orig/lib/CPAN/FirstTime.pm 2006-01-31 08:08:57.000000000 +1100
++++ perl-5.8.8/lib/CPAN/FirstTime.pm 2006-02-03 00:05:24.000000000 +1100
+@@ -358,7 +358,7 @@
+
+ };
+
+- $default = $CPAN::Config->{makepl_arg} || "";
++ $default = $CPAN::Config->{makepl_arg} || "INSTALLDIRS=site";
+ $CPAN::Config->{makepl_arg} =
+ prompt("Parameters for the 'perl Makefile.PL' command?
+ Typical frequently used settings:
--- perl-5.8.8.orig/debian/patches/20_fix_taint_study_hang
+++ perl-5.8.8/debian/patches/20_fix_taint_study_hang
@@ -0,0 +1,25 @@
+Perl 5.6.1+ hangs when:
+(1) Taint mode (-T) is used
+(2) 'study' is used
+(3) Regular expression match with an expression starting
+ with "^", containing ".*" (or ".*?") matched by a
+ newline, using the /m flag, but not the /s flag.
+
+See http://rt.perl.org/rt3/Ticket/Display.html?id=41831 for details.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/regexec.c perl-5.8.8/regexec.c
+--- perl-5.8.8.orig/regexec.c 2006-01-09 07:59:30.000000000 +1100
++++ perl-5.8.8/regexec.c 2007-09-16 18:51:04.000000000 +1000
+@@ -454,7 +454,11 @@
+ "String too short... [re_intuit_start]\n"));
+ goto fail;
+ }
+- strbeg = (sv && SvPOK(sv)) ? strend - SvCUR(sv) : strpos;
++ /* quarl 2007-03-14
++ * Need to check SvPOKp rather than SvPOK in case of taint mode +
++ * studied regexp. Reference: 615e0643-ac86-4c31-9cd3-3526b2fc883c */
++ strbeg = (sv && (SvPOK(sv) || SvPOKp(sv))) ? strend - SvCUR(sv) : strpos;
++ /* DEBUG_r( PerlIO_printf(Perl_debug_log, "## sv_flags=%p, SvPOK=%d, SvPOKp=%d, strbeg = %p\n", sv ? sv->sv_flags : 0, (sv && SvPOK(sv) ? 1:0), (sv && SvPOKp(sv) ? 1:0), strbeg) ); */
+ PL_regeol = strend;
+ if (do_utf8) {
+ if (!prog->check_utf8 && prog->check_substr)
--- perl-5.8.8.orig/debian/patches/61_debian_instmodsh_doc
+++ perl-5.8.8/debian/patches/61_debian_instmodsh_doc
@@ -0,0 +1,18 @@
+Debian policy doesn't install .packlist files for core or vendor.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/instmodsh perl-5.8.8/lib/ExtUtils/instmodsh
+--- perl-5.8.8.orig/lib/ExtUtils/instmodsh 2005-10-21 21:44:53.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/instmodsh 2006-02-03 00:03:50.000000000 +1100
+@@ -18,9 +18,11 @@
+
+ =head1 DESCRIPTION
+
+-A little interface to ExtUtils::Installed to examine installed modules,
++A little interface to ExtUtils::Installed to examine locally* installed modules,
+ validate your packlists and even create a tarball from an installed module.
+
++*On Debian system, B and B modules are managed by C.
++
+ =head1 SEE ALSO
+
+ ExtUtils::Installed
--- perl-5.8.8.orig/debian/patches/57_debian_prune_libs
+++ perl-5.8.8/debian/patches/57_debian_prune_libs
@@ -0,0 +1,26 @@
+Prune the list of libs wanted to what we actually need. We want to
+keep the dependencies on perl-base as small as possible, and some of
+the original list may be present on buildds (see Bug#128355).
+
+diff -Naur --exclude=debian perl-5.8.8.orig/Configure perl-5.8.8/Configure
+--- perl-5.8.8.orig/Configure 2006-01-09 01:51:03.000000000 +1100
++++ perl-5.8.8/Configure 2006-02-02 23:47:09.000000000 +1100
+@@ -1289,8 +1289,7 @@
+
+ : List of libraries we want.
+ : If anyone needs extra -lxxx, put those in a hint file.
+-libswanted="sfio socket bind inet nsl nm ndbm gdbm dbm db malloc dl dld ld sun"
+-libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
++libswanted='gdbm gdbm_compat db dl m c crypt'
+ : We probably want to search /usr/shlib before most other libraries.
+ : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
+ glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
+@@ -20875,7 +20874,7 @@
+ ;;
+ *) case "$usedl" in
+ $define|true|[yY]*)
+- set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
++ set X `echo " $libs " | sed -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldb @ @'`
+ shift
+ perllibs="$*"
+ ;;
--- perl-5.8.8.orig/debian/patches/71_debian_m68k_time_hires
+++ perl-5.8.8/debian/patches/71_debian_m68k_time_hires
@@ -0,0 +1,14 @@
+m68k takes more that 60s to complete Time::HiRes test.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/Time/HiRes/t/HiRes.t perl-5.8.8/ext/Time/HiRes/t/HiRes.t
+--- perl-5.8.8.orig/ext/Time/HiRes/t/HiRes.t 2005-12-18 06:20:26.000000000 +1100
++++ perl-5.8.8/ext/Time/HiRes/t/HiRes.t 2006-02-10 06:15:13.000000000 +1100
+@@ -65,7 +65,7 @@
+
+ my $have_alarm = $Config{d_alarm};
+ my $have_fork = $Config{d_fork};
+-my $waitfor = 60; # 10-20 seconds is normal (load affects this).
++my $waitfor = 300; # 10-20 seconds is normal (load affects this).
+ my $timer_pid;
+ my $TheEnd;
+
--- perl-5.8.8.orig/debian/patches/19_fix_CPAN_abort_no_tty_config
+++ perl-5.8.8/debian/patches/19_fix_CPAN_abort_no_tty_config
@@ -0,0 +1,16 @@
+Abort non-interactive setup when no default is available to prevent
+endless loop when stdin is not a tty.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/CPAN/FirstTime.pm perl-5.8.8/lib/CPAN/FirstTime.pm
+--- perl-5.8.8.orig/lib/CPAN/FirstTime.pm 2006-01-31 08:08:57.000000000 +1100
++++ perl-5.8.8/lib/CPAN/FirstTime.pm 2007-09-16 15:57:23.000000000 +1000
+@@ -553,6 +553,9 @@
+ $pos = 0 if $pos >= @$items;
+
+ my $num = prompt($prompt,$default);
++ unless ($num or -t) {
++ die "No default for '$prompt',\naborting non-interactive setup.\n";
++ }
+
+ @nums = split (' ', $num);
+ my $i = scalar @$items;
--- perl-5.8.8.orig/debian/patches/66_debian_arm_optim
+++ perl-5.8.8/debian/patches/66_debian_arm_optim
@@ -0,0 +1,18 @@
+Bug#333510: fails to build on arm/armeb with -O2 optimization and current gcc4.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/cflags.SH perl-5.8.8/cflags.SH
+--- perl-5.8.8.orig/cflags.SH 2005-05-27 01:59:31.000000000 +1000
++++ perl-5.8.8/cflags.SH 2006-02-03 00:25:57.000000000 +1100
+@@ -109,7 +109,11 @@
+ pp) ;;
+ pp_ctl) ;;
+ pp_hot) ;;
+- pp_pack) ;;
++ pp_pack)
++ case $archname in
++ arm-*|armeb-*)
++ optimize=-Os;;
++ esac;;
+ pp_sys) ;;
+ regcomp) ;;
+ regexec) ;;
--- perl-5.8.8.orig/debian/patches/00_fix_dynaloader
+++ perl-5.8.8/debian/patches/00_fix_dynaloader
@@ -0,0 +1,86 @@
+Revert DynaLoader to 5.8.3 version so as not to break programs linked
+with pre-5.8.4 libperl.so (and DynaLoader.a).
+
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/DynaLoader/DynaLoader_pm.PL perl-5.8.8/ext/DynaLoader/DynaLoader_pm.PL
+--- perl-5.8.8.orig/ext/DynaLoader/DynaLoader_pm.PL 2004-11-23 02:32:13.000000000 +1100
++++ perl-5.8.8/ext/DynaLoader/DynaLoader_pm.PL 2006-02-01 23:34:15.000000000 +1100
+@@ -29,7 +29,7 @@
+
+ use vars qw($VERSION *AUTOLOAD);
+
+-$VERSION = '1.05'; # avoid typo warning
++$VERSION = '1.04'; # avoid typo warning
+
+ require AutoLoader;
+ *AUTOLOAD = \&AutoLoader::AUTOLOAD;
+@@ -85,7 +85,6 @@
+ @dl_library_path = (); # path to look for files
+
+ #XSLoader.pm may have added elements before we were required
+-#@dl_shared_objects = (); # shared objects for symbols we have
+ #@dl_librefs = (); # things we have loaded
+ #@dl_modules = (); # Modules we have loaded
+
+@@ -340,9 +339,6 @@
+ my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);
+
+ # See comment block above
+-
+- push(@dl_shared_objects, $file); # record files loaded
+-
+ &$xs(@args);
+ }
+
+@@ -559,7 +555,6 @@
+ $dl_debug
+ @dl_librefs
+ @dl_modules
+- @dl_shared_objects
+ Implemented in:
+ bootstrap($modulename) Perl
+ @filepaths = dl_findfile(@names) Perl
+@@ -635,10 +630,6 @@
+
+ An array of module (package) names that have been bootstrap'ed.
+
+-=item @dl_shared_objects
+-
+-An array of file names for the shared objects that were loaded.
+-
+ =item dl_error()
+
+ Syntax:
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/DynaLoader/XSLoader_pm.PL perl-5.8.8/ext/DynaLoader/XSLoader_pm.PL
+--- perl-5.8.8.orig/ext/DynaLoader/XSLoader_pm.PL 2005-10-16 23:50:05.000000000 +1000
++++ perl-5.8.8/ext/DynaLoader/XSLoader_pm.PL 2006-02-01 23:34:15.000000000 +1100
+@@ -118,7 +118,6 @@
+ my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);
+
+ # See comment block above
+- push(@DynaLoader::dl_shared_objects, $file); # record files loaded
+ return &$xs(@_);
+
+ retry:
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/DynaLoader/dl_hpux.xs perl-5.8.8/ext/DynaLoader/dl_hpux.xs
+--- perl-5.8.8.orig/ext/DynaLoader/dl_hpux.xs 2004-01-20 08:54:32.000000000 +1100
++++ perl-5.8.8/ext/DynaLoader/dl_hpux.xs 2006-02-01 23:34:15.000000000 +1100
+@@ -102,19 +102,6 @@
+ sv_setiv( ST(0), PTR2IV(obj) );
+
+
+-int
+-dl_unload_file(libref)
+- void * libref
+- CODE:
+- DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_unload_file(%lx):\n", PTR2ul(libref)));
+- RETVAL = (shl_unload(libref) == 0 ? 1 : 0);
+- if (!RETVAL)
+- SaveError(aTHX_ "%s", Strerror(errno));
+- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " retval = %d\n", RETVAL));
+- OUTPUT:
+- RETVAL
+-
+-
+ void *
+ dl_find_symbol(libhandle, symbolname)
+ void * libhandle
--- perl-5.8.8.orig/debian/patches/58_debian_cpan_config_path
+++ perl-5.8.8/debian/patches/58_debian_cpan_config_path
@@ -0,0 +1,14 @@
+Set location of CPAN::Config to /etc/perl as /usr may not be writable.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/CPAN.pm perl-5.8.8/lib/CPAN.pm
+--- perl-5.8.8.orig/lib/CPAN.pm 2006-02-01 01:11:22.000000000 +1100
++++ perl-5.8.8/lib/CPAN.pm 2006-02-02 23:49:26.000000000 +1100
+@@ -1246,7 +1246,7 @@
+ $configpm = $INC{"CPAN/MyConfig.pm"};
+ $redo++;
+ } else {
+- my($path_to_cpan) = File::Basename::dirname($INC{"CPAN.pm"});
++ my($path_to_cpan) = '/etc/perl';
+ my($configpmdir) = File::Spec->catdir($path_to_cpan,"CPAN");
+ my($configpmtest) = File::Spec->catfile($configpmdir,"Config.pm");
+ if (-d $configpmdir or File::Path::mkpath($configpmdir)) {
--- perl-5.8.8.orig/debian/patches/56_debian_doc_info
+++ perl-5.8.8/debian/patches/56_debian_doc_info
@@ -0,0 +1,47 @@
+Replace generic man(1) instructions with Debian-specific information.
+Indicate that the user needs to install the perl-doc package.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/pod/perl.pod perl-5.8.8/pod/perl.pod
+--- perl-5.8.8.orig/pod/perl.pod 2006-01-08 00:24:56.000000000 +1100
++++ perl-5.8.8/pod/perl.pod 2006-02-02 23:41:42.000000000 +1100
+@@ -203,32 +203,16 @@
+ perlwin32 Perl notes for Windows
+
+
+-By default, the manpages listed above are installed in the
+-F directory.
+-
+-Extensive additional documentation for Perl modules is available. The
+-default configuration for perl will place this additional documentation
+-in the F directory (or else in the F
+-subdirectory of the Perl library directory). Some of this additional
+-documentation is distributed standard with Perl, but you'll also find
+-documentation for third-party modules there.
++On Debian systems, you need to install the B package which
++contains the majority of the standard Perl documentation and the
++F program.
++
++Extensive additional documentation for Perl modules is available, both
++those distributed with Perl and third-party modules which are packaged
++or locally installed.
+
+ You should be able to view Perl's documentation with your man(1)
+-program by including the proper directories in the appropriate start-up
+-files, or in the MANPATH environment variable. To find out where the
+-configuration has installed the manpages, type:
+-
+- perl -V:man.dir
+-
+-If the directories have a common stem, such as F
+-and F, you need only to add that stem
+-(F) to your man(1) configuration files or your MANPATH
+-environment variable. If they do not share a stem, you'll have to add
+-both stems.
+-
+-If that doesn't work for some reason, you can still use the
+-supplied F script to view module information. You might
+-also look into getting a replacement man program.
++program or perldoc(1).
+
+ If something strange has gone wrong with your program and you're not
+ sure where you should look for help, try the B<-w> switch first. It
--- perl-5.8.8.orig/debian/patches/11_fix_processPL
+++ perl-5.8.8/debian/patches/11_fix_processPL
@@ -0,0 +1,31 @@
+Revert part of upstream change 24524 to always use PERLRUNINST when
+building perl modules: Some PDL demos expect blib to be implicitly
+searched.
+
+diff --exclude=debian -Naur perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm
+--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2005-05-21 19:42:56.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2006-06-03 17:07:20.000000000 +1000
+@@ -3052,14 +3052,11 @@
+ # pm_to_blib depends on then it can't depend on pm_to_blib
+ # else we have a dependency loop.
+ my $pm_dep;
+- my $perlrun;
+ if( defined $self->{PM}{$target} ) {
+ $pm_dep = '';
+- $perlrun = 'PERLRUN';
+ }
+ else {
+ $pm_dep = 'pm_to_blib';
+- $perlrun = 'PERLRUNINST';
+ }
+
+ $m .= <makespace;
+ $self->output (".Vb $lines\n$_.Ve\n");
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Pod/t/basic.man perl-5.8.8/lib/Pod/t/basic.man
+--- perl-5.8.8.orig/lib/Pod/t/basic.man 2002-01-03 01:33:15.000000000 +1100
++++ perl-5.8.8/lib/Pod/t/basic.man 2007-09-18 19:04:18.000000000 +1000
+@@ -290,18 +290,18 @@
+ .PP
+ .Vb 8
+ \& use Term::ANSIColor;
+-\& print color 'bold blue';
++\& print color \(aqbold blue\(aq;
+ \& print "This text is bold blue.\en";
+-\& print color 'reset';
++\& print color \(aqreset\(aq;
+ \& print "This text is normal.\en";
+-\& print colored ("Yellow on magenta.\en", 'yellow on_magenta');
++\& print colored ("Yellow on magenta.\en", \(aqyellow on_magenta\(aq);
+ \& print "This text is normal.\en";
+-\& print colored ['yellow on_magenta'], "Yellow on magenta.\en";
++\& print colored [\(aqyellow on_magenta\(aq], "Yellow on magenta.\en";
+ .Ve
+ .PP
+ .Vb 2
+ \& use Term::ANSIColor qw(uncolor);
+-\& print uncolor '01;31', "\en";
++\& print uncolor \(aq01;31\(aq, "\en";
+ .Ve
+ .PP
+ But this isn't verbatim (make sure it wraps properly), and the next
+@@ -332,7 +332,7 @@
+ .PP
+ .Vb 2
+ \& This is. And this: is an internal tab. It should be:
+-\& |--| <= lined up with that.
++\& |\-\-| <= lined up with that.
+ .Ve
+ .PP
+ (Tricky, but tabs should be expanded before the translator starts in on
--- perl-5.8.8.orig/debian/patches/12_fix_net_cmd
+++ perl-5.8.8/debian/patches/12_fix_net_cmd
@@ -0,0 +1,13 @@
+Fix Net::Cmd's handling of undefined arguments
+
+--- perl-5.8.8.orig/lib/Net/Cmd.pm 2004-07-04 00:47:13.000000000 +0200
++++ perl-5.8.8/lib/Net/Cmd.pm 2004-07-04 01:18:17.000000000 +0200
+@@ -204,7 +204,7 @@
+ {
+ local $SIG{PIPE} = 'IGNORE' unless $^O eq 'MacOS';
+
+- my $str = join(" ", map { /\n/ ? do { my $n = $_; $n =~ tr/\n/ /; $n } : $_; } @_);
++ my $str = join(" ", map { defined($_) ? /\n/ ? do { my $n = $_; $n =~ tr/\n/ /; $n } : $_ : " "; } @_);
+ $str = $cmd->toascii($str) if $tr;
+ $str .= "\015\012";
+
--- perl-5.8.8.orig/debian/patches/64_debian_enc2xs_inc
+++ perl-5.8.8/debian/patches/64_debian_enc2xs_inc
@@ -0,0 +1,28 @@
+Tweak enc2xs to handle Debian @INC: ignore missing directories,
+follow symlinks (/usr/share/perl/5.8 -> 5.8.4).
+
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/Encode/bin/enc2xs perl-5.8.8/ext/Encode/bin/enc2xs
+--- perl-5.8.8.orig/ext/Encode/bin/enc2xs 2004-09-03 01:53:51.000000000 +1000
++++ perl-5.8.8/ext/Encode/bin/enc2xs 2006-02-03 00:21:32.000000000 +1100
+@@ -909,10 +909,11 @@
+ eval { require File::Find; };
+ my (@inc, %e2x_dir);
+ for my $inc (@INC){
++ next unless -d $inc; # skip non-existent directories
+ push @inc, $inc unless $inc eq '.'; #skip current dir
+ }
+ File::Find::find(
+- sub {
++ { wanted => sub {
+ my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
+ $atime,$mtime,$ctime,$blksize,$blocks)
+ = lstat($_) or return;
+@@ -922,7 +923,7 @@
+ $e2x_dir{$File::Find::dir} ||= $mtime;
+ }
+ return;
+- }, @inc);
++ }, follow => 1}, @inc);
+ warn join("\n", keys %e2x_dir), "\n";
+ for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
+ $_E2X = $d;
--- perl-5.8.8.orig/debian/patches/18_fix_CGI_upload
+++ perl-5.8.8/debian/patches/18_fix_CGI_upload
@@ -0,0 +1,22 @@
+upload() in CGI.pm is broken at times
+
+This problem was reported in:
+ http://rt.cpan.org/Public/Bug/Display.html?id=12694
+
+fileno($_) can be 0, since stdin (the usual taker of fileno 0) is closed
+by Apache and can therefore be reused by the operating system when new
+file descriptors are opened. And of course, fileno($_) == 0 is false,
+which means nothing gets returned.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/CGI.pm perl-5.8.8/lib/CGI.pm
+--- perl-5.8.8.orig/lib/CGI.pm 2006-01-09 03:40:30.000000000 +1100
++++ perl-5.8.8/lib/CGI.pm 2007-09-16 11:41:31.000000000 +1000
+@@ -3411,7 +3411,7 @@
+ 'upload' =><<'END_OF_FUNC',
+ sub upload {
+ my($self,$param_name) = self_or_default(@_);
+- my @param = grep(ref && fileno($_), $self->param($param_name));
++ my @param = grep(ref && defined(fileno($_)), $self->param($param_name));
+ return unless @param;
+ return wantarray ? @param : $param[0];
+ }
--- perl-5.8.8.orig/debian/patches/52_debian_extutils_hacks
+++ perl-5.8.8/debian/patches/52_debian_extutils_hacks
@@ -0,0 +1,234 @@
+Various debian-specific ExtUtils changes:
+
+ * Respect umask during installation, and set as appropriate for each of
+ perl, vendor and site (policy requires group writable site dirs).
+
+ * Don't install .packlist or perllocal.pod for perl or vendor.
+ * Fiddle with *PREFIX and variables written to the makefile so that
+ install directories may be changed when make is run by passing
+ PREFIX= to the "make install" command (used when packaging
+ modules).
+
+ * Set location of libperl.a to /usr/lib.
+ * Note that libperl-dev package is required for embedded linking.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/Embed.pm perl-5.8.8/lib/ExtUtils/Embed.pm
+--- perl-5.8.8.orig/lib/ExtUtils/Embed.pm 2004-08-03 20:41:49.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/Embed.pm 2006-02-05 10:42:11.000000000 +1100
+@@ -300,6 +300,9 @@
+ Typically, an application B will invoke ExtUtils::Embed
+ functions while building your application.
+
++Note that on Debian systems the B package is required for
++compiling applications which embed an interpreter.
++
+ =head1 @EXPORT
+
+ ExtUtils::Embed exports the following functions:
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/Install.pm perl-5.8.8/lib/ExtUtils/Install.pm
+--- perl-5.8.8.orig/lib/ExtUtils/Install.pm 2005-10-21 22:00:01.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/Install.pm 2006-02-05 10:42:11.000000000 +1100
+@@ -173,8 +173,8 @@
+ if (-f $targetfile){
+ forceunlink($targetfile) unless $nonono;
+ } else {
+- mkpath($targetdir,0,0755) unless $nonono;
+- print "mkpath($targetdir,0,0755)\n" if $verbose>1;
++ mkpath($targetdir) unless $nonono;
++ print "mkpath($targetdir)\n" if $verbose>1;
+ }
+ copy($sourcefile, $targetfile) unless $nonono;
+ print "Installing $targetfile\n";
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm perl-5.8.8/lib/ExtUtils/MM_Any.pm
+--- perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm 2005-04-13 17:49:53.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/MM_Any.pm 2006-02-05 11:17:52.000000000 +1100
+@@ -645,8 +645,6 @@
+ sub manifypods_target {
+ my($self) = shift;
+
+- my $man1pods = '';
+- my $man3pods = '';
+ my $dependencies = '';
+
+ # populate manXpods & dependencies:
+@@ -666,7 +664,7 @@
+ foreach my $section (qw(1 3)) {
+ my $pods = $self->{"MAN${section}PODS"};
+ push @man_cmds, $self->split_command(<{SITEPREFIX} ||= $sprefix;
+ $self->{VENDORPREFIX} ||= $vprefix;
+
+- # Lots of MM extension authors like to use $(PREFIX) so we
+- # put something sensible in there no matter what.
+- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
++ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
++ for my $t (qw/PERL SITE VENDOR/)
++ {
++ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
++ }
+ }
+
+ my $arch = $Config{archname};
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm
+--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2005-05-21 19:42:56.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2006-02-05 17:40:19.000000000 +1100
+@@ -2054,9 +2054,7 @@
+ $(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
+
+ pure_perl_install ::
+- $(NOECHO) $(MOD_INSTALL) \
+- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
+- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
++ $(NOECHO) umask 022; $(MOD_INSTALL) \
+ $(INST_LIB) $(DESTINSTALLPRIVLIB) \
+ $(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
+ $(INST_BIN) $(DESTINSTALLBIN) \
+@@ -2068,7 +2066,7 @@
+
+
+ pure_site_install ::
+- $(NOECHO) $(MOD_INSTALL) \
++ $(NOECHO) umask 02; $(MOD_INSTALL) \
+ read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
+ write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
+ $(INST_LIB) $(DESTINSTALLSITELIB) \
+@@ -2081,9 +2079,7 @@
+ }.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
+
+ pure_vendor_install ::
+- $(NOECHO) $(MOD_INSTALL) \
+- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
+- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
++ $(NOECHO) umask 022; $(MOD_INSTALL) \
+ $(INST_LIB) $(DESTINSTALLVENDORLIB) \
+ $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
+ $(INST_BIN) $(DESTINSTALLVENDORBIN) \
+@@ -2092,37 +2088,19 @@
+ $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
+
+ doc_perl_install ::
+- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
+- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+- -$(NOECHO) $(DOC_INSTALL) \
+- "Module" "$(NAME)" \
+- "installed into" "$(INSTALLPRIVLIB)" \
+- LINKTYPE "$(LINKTYPE)" \
+- VERSION "$(VERSION)" \
+- EXE_FILES "$(EXE_FILES)" \
+- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
+
+ doc_site_install ::
+- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
+- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+- -$(NOECHO) $(DOC_INSTALL) \
++ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
++ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
++ -$(NOECHO) umask 02; $(DOC_INSTALL) \
+ "Module" "$(NAME)" \
+ "installed into" "$(INSTALLSITELIB)" \
+ LINKTYPE "$(LINKTYPE)" \
+ VERSION "$(VERSION)" \
+ EXE_FILES "$(EXE_FILES)" \
+- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
++ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
+
+ doc_vendor_install ::
+- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
+- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
+- -$(NOECHO) $(DOC_INSTALL) \
+- "Module" "$(NAME)" \
+- "installed into" "$(INSTALLVENDORLIB)" \
+- LINKTYPE "$(LINKTYPE)" \
+- VERSION "$(VERSION)" \
+- EXE_FILES "$(EXE_FILES)" \
+- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
+
+ };
+
+@@ -2131,13 +2109,12 @@
+ $(NOECHO) $(NOOP)
+
+ uninstall_from_perldirs ::
+- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{
+
+ uninstall_from_sitedirs ::
+ $(NOECHO) $(UNINSTALL) }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{
+
+ uninstall_from_vendordirs ::
+- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{
++
+ };
+
+ join("",@m);
+@@ -2415,7 +2392,7 @@
+ ($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
+ }
+ unless ($libperl && -f $lperl) { # Ilya's code...
+- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
++ my $dir = $self->{PERL_SRC} || "/usr/lib";
+ $dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
+ $libperl ||= "libperl$self->{LIB_EXT}";
+ $libperl = "$dir/$libperl";
+@@ -3007,8 +2984,7 @@
+ print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
+ print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
+
+- if( $self->{ARGS}{PREFIX} && $self->file_name_is_absolute($path) &&
+- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
++ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
+ {
+
+ print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST.t perl-5.8.8/lib/ExtUtils/t/INST.t
+--- perl-5.8.8.orig/lib/ExtUtils/t/INST.t 2005-10-21 19:12:39.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/t/INST.t 2006-02-05 17:48:56.000000000 +1100
+@@ -65,9 +65,7 @@
+ is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
+ is( $mm->{VERSION}, 0.01, 'VERSION' );
+
+-my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
+- $Config{prefixexp} || $Config{prefix};
+-is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
++is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
+
+ is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t perl-5.8.8/lib/ExtUtils/t/INST_PREFIX.t
+--- perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t 2005-10-21 22:00:19.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/t/INST_PREFIX.t 2006-02-05 17:48:06.000000000 +1100
+@@ -16,7 +16,7 @@
+ }
+
+ use strict;
+-use Test::More tests => 52;
++use Test::More tests => 47;
+ use MakeMaker::Test::Utils;
+ use MakeMaker::Test::Setup::BFD;
+ use ExtUtils::MakeMaker;
+@@ -62,16 +62,16 @@
+ Writing\ $Makefile\ for\ Big::Dummy\n
+ }x );
+
+-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
++#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
+
+ isa_ok( $mm, 'ExtUtils::MakeMaker' );
+
+ is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
+ is( $mm->{VERSION}, 0.01, 'VERSION' );
+
+-foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
+- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
+-}
++#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
++# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
++#}
+
+
+ my $PREFIX = File::Spec->catdir('foo', 'bar');
--- perl-5.8.8.orig/debian/patches/23_fix_tpj13_typo
+++ perl-5.8.8/debian/patches/23_fix_tpj13_typo
@@ -0,0 +1,14 @@
+Typo. Applied upstream as change 27358.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Locale/Maketext/TPJ13.pod perl-5.8.8/lib/Locale/Maketext/TPJ13.pod
+--- perl-5.8.8.orig/lib/Locale/Maketext/TPJ13.pod 2004-01-24 20:16:01.000000000 +1100
++++ perl-5.8.8/lib/Locale/Maketext/TPJ13.pod 2007-09-18 17:30:32.000000000 +1000
+@@ -208,7 +208,7 @@
+
+ He elaborates: In "I scanned %g directories", you'd I
+ "directories" to be in the accusative case (since it is the direct
+-object in the sentnce) and the plural number,
++object in the sentence) and the plural number,
+ except where $directory_count is 1, then you'd expect the singular, of
+ course. Just like Latin or German. I Where $directory_count %
+ 10 is 1 ("%" for modulo, remember), assuming $directory count is an
--- perl-5.8.8.orig/debian/patches/26_fix_regcomp_overflow
+++ perl-5.8.8/debian/patches/26_fix_regcomp_overflow
@@ -0,0 +1,61 @@
+CVE-2007-5116:
+
+ "Will Drewry and Tavis Ormandy of the Google Security Team have
+ discovered a UTF-8 related heap overflow in Perl's regular
+ expression compiler, probably allowing attackers to execute
+ arbitrary code by compiling specially crafted regular expressions."
+
+diff -Naur --exclude=debian perl-5.8.8.orig/regcomp.c perl-5.8.8/regcomp.c
+--- perl-5.8.8.orig/regcomp.c 2006-01-09 07:59:27.000000000 +1100
++++ perl-5.8.8/regcomp.c 2007-11-08 01:34:32.000000000 +1100
+@@ -136,6 +136,7 @@
+ I32 seen_zerolen;
+ I32 seen_evals;
+ I32 utf8;
++ I32 orig_utf8;
+ #if ADD_TO_REGEXEC
+ char *starttry; /* -Dr: where regtry was called. */
+ #define RExC_starttry (pRExC_state->starttry)
+@@ -161,6 +162,7 @@
+ #define RExC_seen_zerolen (pRExC_state->seen_zerolen)
+ #define RExC_seen_evals (pRExC_state->seen_evals)
+ #define RExC_utf8 (pRExC_state->utf8)
++#define RExC_orig_utf8 (pRExC_state->orig_utf8)
+
+ #define ISMULT1(c) ((c) == '*' || (c) == '+' || (c) == '?')
+ #define ISMULT2(s) ((*s) == '*' || (*s) == '+' || (*s) == '?' || \
+@@ -1750,6 +1752,7 @@
+ FAIL("NULL regexp argument");
+
+ RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
++ RExC_orig_utf8 = RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
+
+ RExC_precomp = exp;
+ DEBUG_r({
+@@ -1758,6 +1761,8 @@
+ PL_colors[4],PL_colors[5],PL_colors[0],
+ (int)(xend - exp), RExC_precomp, PL_colors[1]);
+ });
++redo_first_pass:
++ RExC_precomp = exp;
+ RExC_flags = pm->op_pmflags;
+ RExC_sawback = 0;
+
+@@ -1783,6 +1788,17 @@
+ RExC_precomp = Nullch;
+ return(NULL);
+ }
++ if (RExC_utf8 && !RExC_orig_utf8) {
++ STRLEN len = xend-exp;
++ DEBUG_r(PerlIO_printf(Perl_debug_log,
++ "UTF8 mismatch! Converting to utf8 for resizing and compile\n"));
++ exp = (char*)Perl_bytes_to_utf8(aTHX_ (U8*)exp, &len);
++ xend = exp + len;
++ RExC_orig_utf8 = RExC_utf8;
++ SAVEFREEPV(exp);
++ goto redo_first_pass;
++ }
++
+ DEBUG_r(PerlIO_printf(Perl_debug_log, "size %"IVdf" ", (IV)RExC_size));
+
+ /* Small enough for pointer-storage convention?
--- perl-5.8.8.orig/debian/patches/25_fix_defined_x86_64
+++ perl-5.8.8/debian/patches/25_fix_defined_x86_64
@@ -0,0 +1,45 @@
+Upstrem fix for ifdef x86_64. Before this patch, it evaluated always to true.
+See http://bugs.debian.org/443785
+
+diff -ru perl-5.8.8~/t/lib/h2ph.pht perl-5.8.8/t/lib/h2ph.pht
+--- perl-5.8.8~/t/lib/h2ph.pht 2007-09-23 20:26:44.000000000 -0700
++++ perl-5.8.8/t/lib/h2ph.pht 2007-09-23 21:01:48.000000000 -0700
+@@ -28,21 +28,21 @@
+ eval q((($a) < ($b) ? ($a) : ($b)));
+ }' unless defined(&MIN);
+ }
+- if(!(defined (defined(&__SOMETHING_MORE_IMPORTANT) ? &__SOMETHING_MORE_IMPORTANT : 0))) {
++ if(!(defined (defined(&__SOMETHING_MORE_IMPORTANT) ? &__SOMETHING_MORE_IMPORTANT : undef))) {
+ }
+- elsif(!(defined (defined(&__SOMETHING_REALLY_REALLY_IMPORTANT) ? &__SOMETHING_REALLY_REALLY_IMPORTANT : 0))) {
++ elsif(!(defined (defined(&__SOMETHING_REALLY_REALLY_IMPORTANT) ? &__SOMETHING_REALLY_REALLY_IMPORTANT : undef))) {
+ die("Nup, can't go on");
+ } else {
+ eval 'sub EVERYTHING_IS_OK () {1;}' unless defined(&EVERYTHING_IS_OK);
+ }
+ undef(&WHATEVER) if defined(&WHATEVER);
+- if((!((defined (defined(&__SOMETHING_TRIVIAL) ? &__SOMETHING_TRIVIAL : 0) && defined (defined(&__SOMETHING_LESS_SO) ? &__SOMETHING_LESS_SO : 0))) || defined (defined(&__SOMETHING_OVERPOWERING) ? &__SOMETHING_OVERPOWERING : 0))) {
++ if((!((defined (defined(&__SOMETHING_TRIVIAL) ? &__SOMETHING_TRIVIAL : undef) && defined (defined(&__SOMETHING_LESS_SO) ? &__SOMETHING_LESS_SO : undef))) || defined (defined(&__SOMETHING_OVERPOWERING) ? &__SOMETHING_OVERPOWERING : undef))) {
+ eval 'sub WHATEVER () {6;}' unless defined(&WHATEVER);
+ }
+- elsif(!(defined (defined(&__SOMETHING_TRIVIAL) ? &__SOMETHING_TRIVIAL : 0)) ) {
++ elsif(!(defined (defined(&__SOMETHING_TRIVIAL) ? &__SOMETHING_TRIVIAL : undef)) ) {
+ eval 'sub WHATEVER () {7;}' unless defined(&WHATEVER);
+ }
+- elsif(!(defined (defined(&__SOMETHING_LESS_SO) ? &__SOMETHING_LESS_SO : 0)) ) {
++ elsif(!(defined (defined(&__SOMETHING_LESS_SO) ? &__SOMETHING_LESS_SO : undef)) ) {
+ eval 'sub WHATEVER () {8;}' unless defined(&WHATEVER);
+ } else {
+ eval 'sub WHATEVER () {1000;}' unless defined(&WHATEVER);
+diff -ru perl-5.8.8~/utils/h2ph.PL perl-5.8.8/utils/h2ph.PL
+--- perl-5.8.8~/utils/h2ph.PL 2007-09-23 20:26:44.000000000 -0700
++++ perl-5.8.8/utils/h2ph.PL 2007-09-23 20:41:45.000000000 -0700
+@@ -514,7 +514,7 @@
+ }
+ } else {
+ if ($inif && $new !~ /defined\s*\($/) {
+- $new .= '(defined(&' . $id . ') ? &' . $id . ' : 0)';
++ $new .= '(defined(&' . $id . ') ? &' . $id . ' : undef)';
+ } elsif (/^\[/) {
+ $new .= " \$$id";
+ } else {
--- perl-5.8.8.orig/debian/patches/67_debian_missing_hosts
+++ perl-5.8.8/debian/patches/67_debian_missing_hosts
@@ -0,0 +1,15 @@
+Suppress test failure on buildds which don't have /etc/hosts installed.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Net/hostent.t perl-5.8.8/lib/Net/hostent.t
+--- perl-5.8.8.orig/lib/Net/hostent.t 2003-03-30 20:18:26.000000000 +1000
++++ perl-5.8.8/lib/Net/hostent.t 2006-02-03 00:26:48.000000000 +1100
+@@ -16,6 +16,9 @@
+ }
+ if ($^O eq 'MacOS' || ($^O eq 'irix' && $Config{osvers} == 5)) {
+ plan skip_all => "Test relies on resolution of localhost, fails on $^O ($Config{osvers})";
++ } elsif (!-f '/etc/hosts') {
++ # /etc/hosts is not always present on buildds
++ plan skip_all => "Test requires /etc/hosts: not found";
+ }
+ }
+
--- perl-5.8.8.orig/debian/patches/17_fix_makedepend
+++ perl-5.8.8/debian/patches/17_fix_makedepend
@@ -0,0 +1,25 @@
+Update makedepend.SH from perl-current to handle changed preprocessor
+output from new gcc.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/makedepend.SH perl-5.8.8/makedepend.SH
+--- perl-5.8.8.orig/makedepend.SH 2003-06-06 04:11:10.000000000 +1000
++++ perl-5.8.8/makedepend.SH 2007-09-16 10:26:25.000000000 +1000
+@@ -128,7 +128,7 @@
+ *.y) filebase=`basename $file .y` ;;
+ esac
+ case "$file" in
+- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
++ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;;
+ *) finc= ;;
+ esac
+ $echo "Finding dependencies for $filebase$_o."
+@@ -167,7 +167,9 @@
+ -e '/^#.*/d' \
+ -e '/^#.*/d' \
+ -e '/^#.*/d' \
++ -e '/^#.*/d' \
+ -e '/^#.*"-"/d' \
++ -e '/^#.*"\/.*\/"/d' \
+ -e '/: file path prefix .* never used$/d' \
+ -e 's#\.[0-9][0-9]*\.c#'"$file.c#" \
+ -e 's/^[ ]*#[ ]*line/#/' \
--- perl-5.8.8.orig/debian/patches/72_debian_drop_c9x_warning
+++ perl-5.8.8/debian/patches/72_debian_drop_c9x_warning
@@ -0,0 +1,39 @@
+Adding -Wdeclaration-after-statement can cause problems for people
+trying to build extensions with gcc-3.3 (which doesn't support it).
+
+diff -Naur --exclude=debian perl-5.8.8.orig/Configure perl-5.8.8/Configure
+--- perl-5.8.8.orig/Configure 2006-01-09 01:51:03.000000000 +1100
++++ perl-5.8.8/Configure 2006-02-26 13:24:19.000000000 +1100
+@@ -4775,19 +4775,19 @@
+ echo "Nope, it doesn't, but that's ok." 2>&1
+ fi
+
+- echo "Checking if your compiler accepts -Wdeclaration-after-statement" 2>&1
+- echo 'int main(void) { return 0; }' > gcctest.c
+- if $cc -Wdeclaration-after-statement -o gcctest gcctest.c; then
+- echo "Yes, it does." 2>&1
+- case "$ccflags" in
+- *-Wdeclaration-after-statement*)
+- echo "Leaving current flags $ccflags alone." 2>&1
+- ;;
+- *) dflt="$dflt -Wdeclaration-after-statement" ;;
+- esac
+- else
+- echo "Nope, it doesn't, but that's ok." 2>&1
+- fi
++# echo "Checking if your compiler accepts -Wdeclaration-after-statement" 2>&1
++# echo 'int main(void) { return 0; }' > gcctest.c
++# if $cc -Wdeclaration-after-statement -o gcctest gcctest.c; then
++# echo "Yes, it does." 2>&1
++# case "$ccflags" in
++# *-Wdeclaration-after-statement*)
++# echo "Leaving current flags $ccflags alone." 2>&1
++# ;;
++# *) dflt="$dflt -Wdeclaration-after-statement" ;;
++# esac
++# else
++# echo "Nope, it doesn't, but that's ok." 2>&1
++# fi
+ ;;
+ esac
+ ;;
--- perl-5.8.8.orig/debian/patches/15_fix_net_groff_minus-hyphen
+++ perl-5.8.8/debian/patches/15_fix_net_groff_minus-hyphen
@@ -0,0 +1,47 @@
+Add backslashes to hyphens to get real minus signs with groff.
+
+diff -ru perl-5.8.8.orig/lib/Net/Config.pm perl-5.8.8/lib/Net/Config.pm
+--- perl-5.8.8.orig/lib/Net/Config.pm 2004-07-04 00:47:13.000000000 +0200
++++ perl-5.8.8/lib/Net/Config.pm 2004-07-04 01:04:55.000000000 +0200
+@@ -157,7 +157,7 @@
+ Attempts to determine if a given host is outside your firewall. Possible
+ return values are.
+
+- -1 Cannot lookup hostname
++ \-1 Cannot lookup hostname
+ 0 Host is inside firewall (or there is no ftp_firewall entry)
+ 1 Host is outside the firewall
+
+diff -ru perl-5.8.8.orig/lib/Net/FTP.pm perl-5.8.8/lib/Net/FTP.pm
+--- perl-5.8.8.orig/lib/Net/FTP.pm 2004-07-04 00:47:13.000000000 +0200
++++ perl-5.8.8/lib/Net/FTP.pm 2004-07-04 01:04:55.000000000 +0200
+@@ -1243,7 +1243,7 @@
+ $ftp = Net::FTP->new("some.host.name", Debug => 0)
+ or die "Cannot connect to some.host.name: $@";
+
+- $ftp->login("anonymous",'-anonymous@')
++ $ftp->login("anonymous",'\-anonymous@')
+ or die "Cannot login ", $ftp->message;
+
+ $ftp->cwd("/pub")
+diff -ru perl-5.8.8.orig/lib/Net/SMTP.pm perl-5.8.8/lib/Net/SMTP.pm
+--- perl-5.8.8.orig/lib/Net/SMTP.pm 2004-07-04 00:47:13.000000000 +0200
++++ perl-5.8.8/lib/Net/SMTP.pm 2004-07-04 01:04:55.000000000 +0200
+@@ -558,7 +558,7 @@
+
+ This example prints the mail domain name of the SMTP server known as mailhost:
+
+- #!/usr/local/bin/perl -w
++ #!/usr/local/bin/perl \-w
+
+ use Net::SMTP;
+
+@@ -569,7 +569,7 @@
+ This example sends a small message to the postmaster at the SMTP server
+ known as mailhost:
+
+- #!/usr/local/bin/perl -w
++ #!/usr/local/bin/perl \-w
+
+ use Net::SMTP;
+
--- perl-5.8.8.orig/debian/patches/63_debian_ppc_optim
+++ perl-5.8.8/debian/patches/63_debian_ppc_optim
@@ -0,0 +1,19 @@
+Don't need to downgrade optimisation on ppc with gcc 4.0
+
+diff -Naur --exclude=debian perl-5.8.8.orig/hints/linux.sh perl-5.8.8/hints/linux.sh
+--- perl-5.8.8.orig/hints/linux.sh 2005-11-18 12:18:45.000000000 +1100
++++ perl-5.8.8/hints/linux.sh 2006-02-03 00:15:03.000000000 +1100
+@@ -94,13 +94,6 @@
+ # use -O2 by default ; -O3 doesn't seem to bring significant benefits with gcc
+ '')
+ optimize='-O2'
+- case "`uname -m`" in
+- ppc*)
+- # on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
+- # with -O2 ; so downgrade to -O1.
+- optimize='-O1'
+- ;;
+- esac
+ ;;
+ esac
+
--- perl-5.8.8.orig/debian/patches/09_fix_installperl
+++ perl-5.8.8/debian/patches/09_fix_installperl
@@ -0,0 +1,32 @@
+Correctly identify arch-specific modules in ext/ where the .pm files
+are under lib.
+
+Ensure that POSIX/SigAction is kept with the rest of the POSIX module
+under archlib.
+
+diff --exclude=debian -Naur perl-5.8.8.orig/installperl perl-5.8.8/installperl
+--- perl-5.8.8.orig/installperl 2006-01-29 02:35:28.000000000 +1100
++++ perl-5.8.8/installperl 2006-05-31 22:54:41.000000000 +1000
+@@ -156,11 +156,8 @@
+ if ("$File::Find::dir/$_" =~ m{^ext\b(.*)/([^/]+)\.pm$}) {
+ my($path, $modname) = ($1,$2);
+
+- # strip trailing component first
+- $path =~ s{/[^/]*$}{};
+-
+- # strip optional "/lib";
+- $path =~ s{/lib\b}{};
++ # strip to optional "/lib", or remove trailing component
++ $path =~ s{.*/lib\b}{} or $path =~ s{/[^/]*$}{};
+
+ # strip any leading /
+ $path =~ s{^/}{};
+@@ -851,7 +848,7 @@
+ }
+
+ if (-f $_) {
+- if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$] && $archpms{$1})) {
++ if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$])) {
+ $installlib = $installprivlib;
+ #We're installing *.al and *.ix files into $installprivlib,
+ #but we have to delete old *.al and *.ix files from the 5.000
--- perl-5.8.8.orig/debian/patches/50_debian_use_gdbm
+++ perl-5.8.8/debian/patches/50_debian_use_gdbm
@@ -0,0 +1,46 @@
+Use gdbm for ODBM_File/NDBM_File. The compatability header is named
+gdbm-ndbm.h on debian machines. Explicitly link against -lgdbm_compat.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/Configure perl-5.8.8/Configure
+--- perl-5.8.8.orig/Configure 2006-01-09 01:51:03.000000000 +1100
++++ perl-5.8.8/Configure 2006-02-02 00:38:49.000000000 +1100
+@@ -20024,7 +20024,7 @@
+ eval $inhdr
+
+ : see if ndbm.h is available
+-set ndbm.h t_ndbm
++set gdbm-ndbm.h t_ndbm
+ eval $inhdr
+
+ case "$t_ndbm" in
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/NDBM_File/NDBM_File.xs perl-5.8.8/ext/NDBM_File/NDBM_File.xs
+--- perl-5.8.8.orig/ext/NDBM_File/NDBM_File.xs 2002-08-23 14:00:51.000000000 +1000
++++ perl-5.8.8/ext/NDBM_File/NDBM_File.xs 2006-02-02 00:38:49.000000000 +1100
+@@ -1,7 +1,7 @@
+ #include "EXTERN.h"
+ #include "perl.h"
+ #include "XSUB.h"
+-#include
++#include
+
+ typedef struct {
+ DBM * dbp ;
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/NDBM_File/hints/linux.pl perl-5.8.8/ext/NDBM_File/hints/linux.pl
+--- perl-5.8.8.orig/ext/NDBM_File/hints/linux.pl 2004-06-02 18:36:16.000000000 +1000
++++ perl-5.8.8/ext/NDBM_File/hints/linux.pl 2006-02-02 00:38:49.000000000 +1100
+@@ -3,6 +3,4 @@
+ # (no null key support)
+ # Jonathan Stowe
+ use Config;
+-use ExtUtils::Liblist;
+-($self->{LIBS}) = ExtUtils::Liblist->ext('-lgdbm -lgdbm_compat')
+- if $Config{libs} =~ /(?:^|\s)-lgdbm(?:\s|$)/;
++$self->{LIBS} = ['-lgdbm_compat'] if $Config{libs} =~ /(?:^|\s)-lgdbm_compat(?:\s|$)/;
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/ODBM_File/hints/linux.pl perl-5.8.8/ext/ODBM_File/hints/linux.pl
+--- perl-5.8.8.orig/ext/ODBM_File/hints/linux.pl 2002-07-09 18:52:08.000000000 +1000
++++ perl-5.8.8/ext/ODBM_File/hints/linux.pl 2006-02-02 00:38:49.000000000 +1100
+@@ -1,3 +1,3 @@
+ # uses GDBM dbm compatibility feature - at least on SuSE 8.0
+-$self->{LIBS} = ['-lgdbm'];
++$self->{LIBS} = ['-lgdbm_compat'];
+
--- perl-5.8.8.orig/debian/patches/22_fix_pod2html_dl
+++ perl-5.8.8/debian/patches/22_fix_pod2html_dl
@@ -0,0 +1,402 @@
+Fix issue with (nested) definition lists in lib/Pod/Html.pm
+- tags are not closed
+- generated code contains spurious closing tags
+- when other (definition) lists are nested in a definition list, the
+ indentation of sublevels gets messed up because of incorrect
+ placement of tags
+
+http://rt.perl.org/rt3/Public/Bug/Display.html?id=45211
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Pod/Html.pm perl-5.8.8/lib/Pod/Html.pm
+--- perl-5.8.8.orig/lib/Pod/Html.pm 2006-01-13 05:08:03.000000000 +1100
++++ perl-5.8.8/lib/Pod/Html.pm 2007-09-17 08:23:51.000000000 +1000
+@@ -232,8 +232,8 @@
+ my $Doindex;
+
+ my $Backlink;
+-my($Listlevel, @Listend);
+-my $After_Lpar;
++my($Listlevel, @Listtype);
++my $ListNewTerm;
+ use vars qw($Ignore); # need to localize it later.
+
+ my(%Items_Named, @Items_Seen);
+@@ -273,7 +273,7 @@
+ $Htmldir = ""; # The directory to which the html pages
+ # will (eventually) be written.
+ $Htmlfile = ""; # write to stdout by default
+- $Htmlfileurl = "" ; # The url that other files would use to
++ $Htmlfileurl = ""; # The url that other files would use to
+ # refer to this file. This is only used
+ # to make relative urls that point to
+ # other files.
+@@ -289,8 +289,9 @@
+ $Doindex = 1; # non-zero if we should generate an index
+ $Backlink = ''; # text for "back to top" links
+ $Listlevel = 0; # current list depth
+- @Listend = (); # the text to use to end the list.
+- $After_Lpar = 0; # set to true after a par in an =item
++ @Listtype = (); # list types for open lists
++ $ListNewTerm = 0; # indicates new term in definition list; used
++ # to correctly open/close tags
+ $Ignore = 1; # whether or not to format text. we don't
+ # format text until we hit our first pod
+ # directive.
+@@ -495,7 +496,6 @@
+
+ # now convert this file
+ my $after_item; # set to true after an =item
+- my $need_dd = 0;
+ warn "Converting input file $Podfile\n" if $Verbose;
+ foreach my $i (0..$#poddata){
+ $PTQuote = 0; # status of quote conversion
+@@ -505,7 +505,6 @@
+ if (/^(=.*)/s) { # is it a pod directive?
+ $Ignore = 0;
+ $after_item = 0;
+- $need_dd = 0;
+ $_ = $1;
+ if (/^=begin\s+(\S+)\s*(.*)/si) {# =begin
+ process_begin($1, $2);
+@@ -521,12 +520,12 @@
+ if (/^=(head[1-6])\s+(.*\S)/s) { # =head[1-6] heading
+ process_head( $1, $2, $Doindex && $index );
+ } elsif (/^=item\s*(.*\S)?/sm) { # =item text
+- $need_dd = process_item( $1 );
++ process_item( $1 );
+ $after_item = 1;
+ } elsif (/^=over\s*(.*)/) { # =over N
+ process_over();
+ } elsif (/^=back/) { # =back
+- process_back($need_dd);
++ process_back();
+ } elsif (/^=for\s+(\S+)\s*(.*)/si) {# =for
+ process_for($1,$2);
+ } else {
+@@ -541,8 +540,14 @@
+ next if $Ignore;
+ next if @Begin_Stack && $Begin_Stack[-1] ne 'html';
+ print HTML and next if @Begin_Stack && $Begin_Stack[-1] eq 'html';
+- print HTML "\n" if $need_dd;
+ my $text = $_;
++
++ # Open tag for definition list as we have something to put in it
++ if( $ListNewTerm ){
++ print HTML "\n";
++ $ListNewTerm = 0;
++ }
++
+ if( $text =~ /\A\s+/ ){
+ process_pre( \$text );
+ print HTML "\n$text
\n";
+@@ -572,12 +577,8 @@
+ }
+ ## end of experimental
+
+- if( $after_item ){
+- $After_Lpar = 1;
+- }
+ print HTML "$text
\n";
+ }
+- print HTML "\n" if $need_dd;
+ $after_item = 0;
+ }
+ }
+@@ -1052,12 +1053,12 @@
+
+ # figure out what kind of item it is.
+ # Build string for referencing this item.
+- if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bullet
++ if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bulleted list
+ next unless $1;
+ $item = $1;
+ } elsif( $txt =~ /\A=item\s+(?>\d+\.?)\s*(.*)\Z/s ) { # numbered list
+ $item = $1;
+- } elsif( $txt =~ /\A=item\s+(.*)\Z/s ) { # plain item
++ } elsif( $txt =~ /\A=item\s+(.*)\Z/s ) { # definition list
+ $item = $1;
+ } else {
+ next;
+@@ -1077,12 +1078,7 @@
+ $tag =~ /head([1-6])/;
+ my $level = $1;
+
+- if( $Listlevel ){
+- warn "$0: $Podfile: unterminated list at =head in paragraph $Paragraph. ignoring.\n" unless $Quiet;
+- while( $Listlevel ){
+- process_back();
+- }
+- }
++ finish_list();
+
+ print HTML "\n";
+ if( $level == 1 && ! $Top ){
+@@ -1120,19 +1116,32 @@
+ $name = anchorify($name);
+ print HTML qq{}, process_text( \$otext ), '';
+ }
+- print HTML "\n";
++ print HTML "";
+ undef( $EmittedItem );
+ }
+
+-sub emit_li {
++sub new_listitem {
+ my( $tag ) = @_;
++ # Open tag for definition list as we have something to put in it
++ if( ($tag ne 'dl') && ($ListNewTerm) ){
++ print HTML "
\n";
++ $ListNewTerm = 0;
++ }
++
+ if( $Items_Seen[$Listlevel]++ == 0 ){
+- push( @Listend, "$tag>" );
++ # start of new list
++ push( @Listtype, "$tag" );
+ print HTML "<$tag>\n";
++ } else {
++ # if this is not the first item, close the previous one
++ if ( $tag eq 'dl' ){
++ print HTML "\n" unless $ListNewTerm;
++ } else {
++ print HTML "\n";
++ }
+ }
+- my $emitted = $tag eq 'dl' ? 'dt' : 'li';
+- print HTML "<$emitted>";
+- return $emitted;
++ my $opentag = $tag eq 'dl' ? 'dt' : 'li';
++ print HTML "<$opentag>";
+ }
+
+ #
+@@ -1140,7 +1149,6 @@
+ #
+ sub process_item {
+ my( $otext ) = @_;
+- my $need_dd = 0; # set to 1 if we need a after an item
+
+ # lots of documents start a list without doing an =over. this is
+ # bad! but, the proper thing to do seems to be to just assume
+@@ -1150,43 +1158,43 @@
+ process_over();
+ }
+
+- # formatting: insert a paragraph if preceding item has >1 paragraph
+- if( $After_Lpar ){
+- print HTML $need_dd ? "\n" : "\n" if $After_Lpar;
+- $After_Lpar = 0;
+- }
+-
+ # remove formatting instructions from the text
+ my $text = depod( $otext );
+
+- my $emitted; # the tag actually emitted, used for closing
+-
+ # all the list variants:
+ if( $text =~ /\A\*/ ){ # bullet
+- $emitted = emit_li( 'ul' );
++ new_listitem( 'ul' );
+ if ($text =~ /\A\*\s+(.+)\Z/s ) { # with additional text
+ my $tag = $1;
+ $otext =~ s/\A\*\s+//;
+ emit_item_tag( $otext, $tag, 1 );
++ print HTML "\n";
+ }
+
+ } elsif( $text =~ /\A\d+/ ){ # numbered list
+- $emitted = emit_li( 'ol' );
++ new_listitem( 'ol' );
+ if ($text =~ /\A(?>\d+\.?)\s*(.+)\Z/s ) { # with additional text
+ my $tag = $1;
+ $otext =~ s/\A\d+\.?\s*//;
+ emit_item_tag( $otext, $tag, 1 );
++ print HTML "\n";
+ }
+
+ } else { # definition list
+- $emitted = emit_li( 'dl' );
+- if ($text =~ /\A(.+)\Z/s ){ # should have text
++ # new_listitem takes care of opening the tag
++ new_listitem( 'dl' );
++ if( $text =~ /\A(.+)\Z/s ){ # should have text
+ emit_item_tag( $otext, $text, 1 );
++ } else {
++ warn "$0: $Podfile: no term text provided for definition list in paragraph $Paragraph. ignoring.\n" unless $Quiet;
+ }
+- $need_dd = 1;
++ # write the definition term and close tag
++ print HTML "\n";
++ # trigger opening a tag for the actual definition; will not
++ # happen if next paragraph is also a definition term (=item)
++ $ListNewTerm = 1;
+ }
+ print HTML "\n";
+- return $need_dd;
+ }
+
+ #
+@@ -1196,30 +1204,31 @@
+ # start a new list
+ $Listlevel++;
+ push( @Items_Seen, 0 );
+- $After_Lpar = 0;
+ }
+
+ #
+ # process_back - process a pod back tag and convert it to HTML format.
+ #
+ sub process_back {
+- my $need_dd = shift;
+ if( $Listlevel == 0 ){
+ warn "$0: $Podfile: unexpected =back directive in paragraph $Paragraph. ignoring.\n" unless $Quiet;
+ return;
+ }
+
+- # close off the list. note, I check to see if $Listend[$Listlevel] is
++ # close off the list. note, I check to see if $Listtype[$Listlevel] is
+ # defined because an =item directive may have never appeared and thus
+- # $Listend[$Listlevel] may have never been initialized.
++ # $Listtype[$Listlevel] may have never been initialized.
+ $Listlevel--;
+- if( defined $Listend[$Listlevel] ){
+- print HTML $need_dd ? "\n" : "\n" if $After_Lpar;
+- print HTML $Listend[$Listlevel];
+- print HTML "\n";
+- pop( @Listend );
++ if( defined $Listtype[$Listlevel] ){
++ if ( $Listtype[$Listlevel] eq 'dl' ){
++ print HTML "\n" unless $ListNewTerm;
++ } else {
++ print HTML "\n";
++ }
++ print HTML "$Listtype[$Listlevel]>\n";
++ pop( @Listtype );
++ $ListNewTerm = 0;
+ }
+- $After_Lpar = 0;
+
+ # clean up item count
+ pop( @Items_Seen );
+@@ -1964,9 +1973,11 @@
+ # after the entire pod file has been read and converted.
+ #
+ sub finish_list {
+- while ($Listlevel > 0) {
+- print HTML "\n";
+- $Listlevel--;
++ if( $Listlevel ){
++ warn "$0: $Podfile: unterminated list(s) at =head in paragraph $Paragraph. ignoring.\n" unless $Quiet;
++ while( $Listlevel ){
++ process_back();
++ }
+ }
+ }
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Pod/t/htmlview.pod perl-5.8.8/lib/Pod/t/htmlview.pod
+--- perl-5.8.8.orig/lib/Pod/t/htmlview.pod 2002-08-27 00:02:56.000000000 +1000
++++ perl-5.8.8/lib/Pod/t/htmlview.pod 2007-09-17 09:04:43.000000000 +1000
+@@ -110,7 +110,7 @@
+
+ =head1 TESTING FOR AND BEGIN
+
+-=for html
++=for html
+
+ blah blah
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Pod/t/htmlview.t perl-5.8.8/lib/Pod/t/htmlview.t
+--- perl-5.8.8.orig/lib/Pod/t/htmlview.t 2005-10-02 13:53:24.000000000 +1000
++++ perl-5.8.8/lib/Pod/t/htmlview.t 2007-09-17 09:04:31.000000000 +1000
+@@ -82,17 +82,15 @@
+
+ Constructor method. Accepts the following config options:
+
+-- foo
++
- foo
+
+ -
+
The foo item.
+
+-
+-- bar
++
- bar
+
+ -
+
The bar item.
+-
+ This is a list within a list
+
+ -
+@@ -102,48 +100,54 @@
+
The waz item.
+
+
+-- baz
++
++
- baz
+
+ -
+
The baz item.
+
+-
+
+ Title on the same line as the =item + * bullets
+
+ Title on the same line as the =item + numerical bullets
+
+ - Cat
+
++
+ - Sat
+
++
+ - Mat
+
++
+
+ No bullets, no title
+
+--
++
++
+
-
+
Cat
+
+-
+--
++
++
+
-
+
Sat
+
+-
+--
++
++
+
-
+
Mat
+
+-
+
+
+
+@@ -153,7 +157,7 @@
+
+
+
+-
++
+
+ blah blah
+
intermediate text
--- perl-5.8.8.orig/debian/patches/07_fix_pod_man_pipe
+++ perl-5.8.8/debian/patches/07_fix_pod_man_pipe
@@ -0,0 +1,23 @@
+Patch from Russ Allbery for Bug#291391: pod2man turns VERTICAL BAR (pipe)
+into BOX DRAWINGS LIGHT VERTICAL.
+
+diff --exclude=debian -Naur perl-5.8.8.orig/lib/Pod/Man.pm perl-5.8.8/lib/Pod/Man.pm
+--- perl-5.8.8.orig/lib/Pod/Man.pm 2003-03-31 21:16:36.000000000 +1000
++++ perl-5.8.8/lib/Pod/Man.pm 2006-03-10 03:06:29.000000000 +1100
+@@ -74,11 +74,11 @@
+ ..
+ .\" Set up some character translations and predefined strings. \*(-- will
+ .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+-.\" double quote, and \*(R" will give a right double quote. | will give a
+-.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
+-.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
+-.\" expand to `' in nroff, nothing in troff, for use with C<>.
+-.tr \(*W-|\(bv\*(Tr
++.\" double quote, and \*(R" will give a right double quote. \*(C+ will
++.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
++.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
++.\" nothing in troff, for use with C<>.
++.tr \(*W-
+ .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+ .ie n \{\
+ . ds -- \(*W-
--- perl-5.8.8.orig/debian/patches/14_fix_net_pop3
+++ perl-5.8.8/debian/patches/14_fix_net_pop3
@@ -0,0 +1,14 @@
+Fix Net::POP3 to avoid undefined value warnings
+
+--- perl-5.8.8.orig/lib/Net/POP3.pm 2004-07-04 01:04:46.000000000 +0200
++++ perl-5.8.8/lib/Net/POP3.pm 2004-07-04 01:50:38.000000000 +0200
+@@ -54,7 +54,8 @@
+ $obj->autoflush(1);
+ $obj->debug(exists $arg{Debug} ? $arg{Debug} : undef);
+
+- unless ($obj->response() == CMD_OK)
++ my $response = $obj->response();
++ unless ($response && $response == CMD_OK)
+ {
+ $obj->close();
+ return undef;
--- perl-5.8.8.orig/debian/patches/21_fix_pod2man_escape_ix
+++ perl-5.8.8/debian/patches/21_fix_pod2man_escape_ix
@@ -0,0 +1,13 @@
+Escape backslashes in index entries.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Pod/Man.pm perl-5.8.8/lib/Pod/Man.pm
+--- perl-5.8.8.orig/lib/Pod/Man.pm 2003-03-31 21:16:36.000000000 +1000
++++ perl-5.8.8/lib/Pod/Man.pm 2007-09-17 03:38:05.000000000 +1000
+@@ -1072,6 +1072,7 @@
+ for (@output) {
+ my ($type, $entry) = @$_;
+ $entry =~ s/\"/\"\"/g;
++ $entry =~ s/\\/\\e/g;
+ $self->output (".IX $type " . '"' . $entry . '"' . "\n");
+ }
+ }
--- perl-5.8.8.orig/debian/patches/53_debian_mod_paths
+++ perl-5.8.8/debian/patches/53_debian_mod_paths
@@ -0,0 +1,107 @@
+Tweak @INC so that the ordering is:
+
+ etc (for config files)
+ site (5.8.1)
+ vendor (all)
+ core (5.8.1)
+ site (version-indep)
+ site (pre-5.8.1)
+
+The rationale being that an admin (via site), or module packager
+(vendor) can chose to shadow core modules when there is a newer
+version than is included in core.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/perl.c perl-5.8.8/perl.c
+--- perl-5.8.8.orig/perl.c 2006-01-31 23:34:47.000000000 +1100
++++ perl-5.8.8/perl.c 2006-02-02 23:36:38.000000000 +1100
+@@ -4776,9 +4776,14 @@
+ incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
+ #endif
+
++#ifdef DEBIAN
++ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
++ incpush("/etc/perl", FALSE, FALSE, FALSE);
++#else
+ #ifdef ARCHLIB_EXP
+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
+ #endif
++#endif
+ #ifdef MACOS_TRADITIONAL
+ {
+ Stat_t tmpstatbuf;
+@@ -4803,11 +4808,13 @@
+ #ifndef PRIVLIB_EXP
+ # define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
+ #endif
++#ifndef DEBIAN
+ #if defined(WIN32)
+ incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
+ #else
+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
+ #endif
++#endif
+
+ #ifdef SITEARCH_EXP
+ /* sitearch is always relative to sitelib on Windows for
+@@ -4850,6 +4857,61 @@
+ incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
+ #endif
+
++#ifdef DEBIAN
++ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
++ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
++
++ /* Non-versioned site directory for local modules and for
++ compatability with the previous packages' site dirs */
++ incpush("/usr/local/lib/site_perl", TRUE, FALSE, FALSE);
++
++#ifdef PERL_INC_VERSION_LIST
++ {
++ struct stat s;
++
++ /* add small buffer in case old versions are longer than the
++ current version */
++ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
++ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
++ char const *vers[] = { PERL_INC_VERSION_LIST };
++ char const **p;
++
++ char *arch_vers = strrchr(sitearch, '/');
++ char *lib_vers = strrchr(sitelib, '/');
++
++ if (arch_vers && isdigit(*++arch_vers))
++ *arch_vers = 0;
++ else
++ arch_vers = 0;
++
++ if (lib_vers && isdigit(*++lib_vers))
++ *lib_vers = 0;
++ else
++ lib_vers = 0;
++
++ /* there is some duplication here as incpush does something
++ similar internally, but required as sitearch is not a
++ subdirectory of sitelib */
++ for (p = vers; *p; p++)
++ {
++ if (arch_vers)
++ {
++ strcpy(arch_vers, *p);
++ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
++ incpush(sitearch, FALSE, FALSE, FALSE);
++ }
++
++ if (lib_vers)
++ {
++ strcpy(lib_vers, *p);
++ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
++ incpush(sitelib, FALSE, FALSE, FALSE);
++ }
++ }
++ }
++#endif
++#endif
++
+ #ifdef PERL_OTHERLIBDIRS
+ incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
+ #endif
--- perl-5.8.8.orig/debian/patches/24_fix_perlcc_nv_save
+++ perl-5.8.8/debian/patches/24_fix_perlcc_nv_save
@@ -0,0 +1,14 @@
+Fix cut and paste error in B::C. See https://bugzilla.redhat.com/show_bug.cgi?id=199736
+
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/B/B/C.pm perl-5.8.8/ext/B/B/C.pm
+--- perl-5.8.8.orig/ext/B/B/C.pm 2006-01-14 01:47:39.000000000 +1100
++++ perl-5.8.8/ext/B/B/C.pm 2007-09-18 17:35:48.000000000 +1000
+@@ -647,7 +647,7 @@
+ return $sym if defined $sym;
+ my $val= $sv->NVX;
+ $val .= '.00' if $val =~ /^-?\d+$/;
+- $xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->IVX, $val));
++ $xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->NVX, $val));
+ $svsect->add(sprintf("&xpvnv_list[%d], %lu, 0x%x",
+ $xpvnvsect->index, $sv->REFCNT , $sv->FLAGS));
+ return savesym($sv, sprintf("&sv_list[%d]", $svsect->index));
--- perl-5.8.8.orig/debian/patches/01_fix_insecure_tempfiles
+++ perl-5.8.8/debian/patches/01_fix_insecure_tempfiles
@@ -0,0 +1,116 @@
+CAN-2004-0976:
+
+ Multiple scripts in the perl package in Trustix Secure Linux 1.5 through
+ 2.1, and possibly other operating systems, allows local users to
+ overwrite files via a symlink attack on temporary files.
+
+ * Insecure use of /tmp file in lib/Memoize/t/tie.t, tie_gdbm.t, tie_ndbm.t,
+ tie_sdbm.t, tie_storable.t, probably exploitable at build time if these
+ tests are run.
+
+ Also fix a quote typo in utils/c2ph.PL .
+
+diff -Naur --exclude=debian perl-5.8.7.orig/lib/Memoize/t/tie.t perl-5.8.7/lib/Memoize/t/tie.t
+--- perl-5.8.7.orig/lib/Memoize/t/tie.t 2002-07-13 05:56:19.000000000 +1000
++++ perl-5.8.7/lib/Memoize/t/tie.t 2005-06-02 23:38:22.000000000 +1000
+@@ -29,14 +29,7 @@
+ $_[0]+1;
+ }
+
+-if (eval {require File::Spec::Functions}) {
+- File::Spec::Functions->import('tmpdir', 'catfile');
+- $tmpdir = tmpdir();
+-} else {
+- *catfile = sub { join '/', @_ };
+- $tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
+-}
+-$file = catfile($tmpdir, "md$$");
++$file = "md$$";
+ @files = ($file, "$file.db", "$file.dir", "$file.pag");
+ 1 while unlink @files;
+
+diff -Naur --exclude=debian perl-5.8.7.orig/lib/Memoize/t/tie_gdbm.t perl-5.8.7/lib/Memoize/t/tie_gdbm.t
+--- perl-5.8.7.orig/lib/Memoize/t/tie_gdbm.t 2002-07-13 05:56:19.000000000 +1000
++++ perl-5.8.7/lib/Memoize/t/tie_gdbm.t 2005-06-02 23:38:22.000000000 +1000
+@@ -26,13 +26,7 @@
+
+ print "1..4\n";
+
+-if (eval {require File::Spec::Functions}) {
+- File::Spec::Functions->import();
+-} else {
+- *catfile = sub { join '/', @_ };
+-}
+-$tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
+-$file = catfile($tmpdir, "md$$");
++$file = "md$$";
+ 1 while unlink $file, "$file.dir", "$file.pag";
+ tryout('GDBM_File', $file, 1); # Test 1..4
+ 1 while unlink $file, "$file.dir", "$file.pag";
+diff -Naur --exclude=debian perl-5.8.7.orig/lib/Memoize/t/tie_ndbm.t perl-5.8.7/lib/Memoize/t/tie_ndbm.t
+--- perl-5.8.7.orig/lib/Memoize/t/tie_ndbm.t 2005-04-22 21:36:58.000000000 +1000
++++ perl-5.8.7/lib/Memoize/t/tie_ndbm.t 2005-06-02 23:39:53.000000000 +1000
+@@ -29,13 +29,7 @@
+ print "1..4\n";
+
+
+-if (eval {require File::Spec::Functions}) {
+- File::Spec::Functions->import();
+-} else {
+- *catfile = sub { join '/', @_ };
+-}
+-$tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
+-$file = catfile($tmpdir, "md$$");
++$file = "md$$";
+ 1 while unlink $file, "$file.dir", "$file.pag", "$file.db";
+ tryout('Memoize::NDBM_File', $file, 1); # Test 1..4
+ 1 while unlink $file, "$file.dir", "$file.pag", "$file.db";
+diff -Naur --exclude=debian perl-5.8.7.orig/lib/Memoize/t/tie_sdbm.t perl-5.8.7/lib/Memoize/t/tie_sdbm.t
+--- perl-5.8.7.orig/lib/Memoize/t/tie_sdbm.t 2002-07-13 05:56:19.000000000 +1000
++++ perl-5.8.7/lib/Memoize/t/tie_sdbm.t 2005-06-02 23:38:22.000000000 +1000
+@@ -28,14 +28,7 @@
+
+ print "1..4\n";
+
+-if (eval {require File::Spec::Functions}) {
+- File::Spec::Functions->import('tmpdir', 'catfile');
+- $tmpdir = tmpdir();
+-} else {
+- *catfile = sub { join '/', @_ };
+- $tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
+-}
+-$file = catfile($tmpdir, "md$$");
++$file = "md$$";
+ 1 while unlink $file, "$file.dir", "$file.pag";
+ tryout('Memoize::SDBM_File', $file, 1); # Test 1..4
+ 1 while unlink $file, "$file.dir", "$file.pag";
+diff -Naur --exclude=debian perl-5.8.7.orig/lib/Memoize/t/tie_storable.t perl-5.8.7/lib/Memoize/t/tie_storable.t
+--- perl-5.8.7.orig/lib/Memoize/t/tie_storable.t 2002-07-13 05:56:19.000000000 +1000
++++ perl-5.8.7/lib/Memoize/t/tie_storable.t 2005-06-02 23:38:22.000000000 +1000
+@@ -34,13 +34,7 @@
+ print "1..4\n";
+
+
+-if (eval {require File::Spec::Functions}) {
+- File::Spec::Functions->import();
+-} else {
+- *catfile = sub { join '/', @_ };
+-}
+-$tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
+-$file = catfile($tmpdir, "storable$$");
++$file = "storable$$";
+ 1 while unlink $file;
+ tryout('Memoize::Storable', $file, 1); # Test 1..4
+ 1 while unlink $file;
+diff -Naur --exclude=debian perl-5.8.7.orig/utils/c2ph.PL perl-5.8.7/utils/c2ph.PL
+--- perl-5.8.7.orig/utils/c2ph.PL 2004-10-20 05:45:42.000000000 +1000
++++ perl-5.8.7/utils/c2ph.PL 2005-06-02 23:38:30.000000000 +1000
+@@ -1320,7 +1320,7 @@
+ $intrinsics{$_[1]} = $template{$_[0]};
+ }
+ close(PIPE) || die "couldn't read intrinsics!";
+- unlink($TMP, '$SAFEDIR/a.out');
++ unlink($TMP, "$SAFEDIR/a.out");
+ print STDERR "done\n" if $trace;
+ }
+
--- perl-5.8.8.orig/debian/patches/08_fix_perlsec_pod
+++ perl-5.8.8/debian/patches/08_fix_perlsec_pod
@@ -0,0 +1,22 @@
+Change 27635 by stevep@stevep-mccoy on 2006/03/30 12:49:28
+
+ Pod nit mentioned in Debian bug #358455.
+
+Affected files ...
+
+... //depot/perl/pod/perlsec.pod#37 edit
+
+Differences ...
+
+diff --exclude=debian -Naur perl-5.8.8.orig/pod/perlsec.pod perl-5.8.8/pod/perlsec.pod
+--- perl-5.8.8.orig/pod/perlsec.pod 2004-12-31 06:20:41.000000000 +1100
++++ perl-5.8.8/pod/perlsec.pod 2006-04-05 00:06:41.000000000 +1000
+@@ -497,7 +497,7 @@
+ =back
+
+ See L for more information,
+-and any computer science text book on the algorithmic complexity.
++and any computer science textbook on the algorithmic complexity.
+
+ =head1 SEE ALSO
+
--- perl-5.8.8.orig/debian/patches/60_debian_libnet_config_path
+++ perl-5.8.8/debian/patches/60_debian_libnet_config_path
@@ -0,0 +1,27 @@
+Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Net/Config.pm perl-5.8.8/lib/Net/Config.pm
+--- perl-5.8.8.orig/lib/Net/Config.pm 2002-03-01 01:04:31.000000000 +1100
++++ perl-5.8.8/lib/Net/Config.pm 2006-11-19 01:21:53.000000000 +1100
+@@ -57,9 +57,8 @@
+ }
+ TRY_INTERNET_CONFIG
+
+-my $file = __FILE__;
++my $file = '/etc/perl/Net/libnet.cfg';
+ my $ref;
+-$file =~ s/Config.pm/libnet.cfg/;
+ if ( -f $file ) {
+ $ref = eval { local $SIG{__DIE__}; do $file };
+ if (ref($ref) eq 'HASH') {
+@@ -131,8 +130,8 @@
+ C holds configuration data for the modules in the libnet
+ distribuion. During installation you will be asked for these values.
+
+-The configuration data is held globally in a file in the perl installation
+-tree, but a user may override any of these values by providing their own. This
++The configuration data is held globally in C,
++but a user may override any of these values by providing their own. This
+ can be done by having a C<.libnetrc> file in their home directory. This file
+ should return a reference to a HASH containing the keys described below.
+ For example
--- perl-5.8.8.orig/debian/patches/17_fix_file_path
+++ perl-5.8.8/debian/patches/17_fix_file_path
@@ -0,0 +1,280 @@
+SECURITY [CAN-2005-0448]:
+
+Rewrite File::Path::rmtree to avoid race condition which allows an
+attacker with write permission on directories in the tree being
+removed to make files setuid or to remove arbitrary files (see
+http://bugs.debian.org/286905 and http://bugs.debian.org/286922 and
+http://bugs.debian.org/479317).
+
+diff -Naur --exclude=debian perl-5.8.8~/lib/File/Path.pm perl-5.8.8/lib/File/Path.pm
+--- perl-5.8.8~/lib/File/Path.pm 2008-12-22 14:01:14.000000000 -0800
++++ perl-5.8.8/lib/File/Path.pm 2008-12-22 14:02:25.000000000 -0800
+@@ -72,33 +72,17 @@ or C to remove it, or that it's
+
+ =item *
+
+-a boolean value, which if TRUE will cause C to
+-skip any files to which you do not have delete access
+-(if running under VMS) or write access (if running
+-under another OS). This will change in the future when
+-a criterion for 'delete permission' under OSs other
+-than VMS is settled. (defaults to FALSE)
++a boolean value, which if FALSE (the default for non-root users) will
++cause C to adjust the mode of directories (if required) prior
++to attempting to remove the contents. Note that on interruption or
++failure of C, directories may be left with more permissive
++modes for the owner.
+
+ =back
+
+ It returns the number of files successfully deleted. Symlinks are
+ simply deleted and not followed.
+
+-B There are race conditions internal to the implementation of
+-C making it unsafe to use on directory trees which may be
+-altered or moved while C is running, and in particular on any
+-directory trees with any path components or subdirectories potentially
+-writable by untrusted users.
+-
+-Additionally, if the third parameter is not TRUE and C is
+-interrupted, it may leave files and directories with permissions altered
+-to allow deletion (and older versions of this module would even set
+-files and directories to world-read/writable!)
+-
+-Note also that the occurrence of errors in C can be determined I
+-by trapping diagnostic messages using C<$SIG{__WARN__}>; it is not apparent
+-from the return value.
+-
+ =head1 DIAGNOSTICS
+
+ =over 4
+@@ -172,111 +156,127 @@ sub mkpath {
+ @created;
+ }
+
+-sub rmtree {
+- my($roots, $verbose, $safe) = @_;
+- my(@files);
+- my($count) = 0;
+- $verbose ||= 0;
+- $safe ||= 0;
+-
+- if ( defined($roots) && length($roots) ) {
+- $roots = [$roots] unless ref $roots;
+- }
+- else {
+- carp "No root path(s) specified\n";
+- return 0;
+- }
+-
+- my($root);
+- foreach $root (@{$roots}) {
+- if ($Is_MacOS) {
+- $root = ":$root" if $root !~ /:/;
+- $root =~ s#([^:])\z#$1:#;
+- } else {
+- $root =~ s#/\z##;
++sub _rmtree;
++sub _rmtree
++{
++ my ($path, $prefix, $up, $up_dev, $up_ino, $verbose, $safe) = @_;
++ my $up_name = $up eq '..' ? 'parent' : 'initial';
++
++ my ($dev, $ino) = lstat $path or return 0;
++ unless (-d _)
++ {
++ print "unlink $prefix$path\n" if $verbose;
++ unless (unlink $path)
++ {
++ carp "Can't remove file $prefix$path ($!)";
++ return 0;
+ }
+- (undef, undef, my $rp) = lstat $root or next;
+- $rp &= 07777; # don't forget setuid, setgid, sticky bits
+- if ( -d _ ) {
+- # notabene: 0700 is for making readable in the first place,
+- # it's also intended to change it to writable in case we have
+- # to recurse in which case we are better than rm -rf for
+- # subtrees with strange permissions
+- chmod($rp | 0700, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
+- or carp "Can't make directory $root read+writeable: $!"
+- unless $safe;
+-
+- if (opendir my $d, $root) {
+- no strict 'refs';
+- if (!defined ${"\cTAINT"} or ${"\cTAINT"}) {
+- # Blindly untaint dir names
+- @files = map { /^(.*)$/s ; $1 } readdir $d;
+- } else {
+- @files = readdir $d;
+- }
+- closedir $d;
+- }
+- else {
+- carp "Can't read $root: $!";
+- @files = ();
+- }
+
+- # Deleting large numbers of files from VMS Files-11 filesystems
+- # is faster if done in reverse ASCIIbetical order
+- @files = reverse @files if $Is_VMS;
+- ($root = VMS::Filespec::unixify($root)) =~ s#\.dir\z## if $Is_VMS;
+- if ($Is_MacOS) {
+- @files = map("$root$_", @files);
+- } else {
+- @files = map("$root/$_", grep $_!~/^\.{1,2}\z/s,@files);
+- }
+- $count += rmtree(\@files,$verbose,$safe);
+- if ($safe &&
+- ($Is_VMS ? !&VMS::Filespec::candelete($root) : !-w $root)) {
+- print "skipped $root\n" if $verbose;
+- next;
+- }
+- chmod $rp | 0700, $root
+- or carp "Can't make directory $root writeable: $!"
+- if $force_writeable;
+- print "rmdir $root\n" if $verbose;
+- if (rmdir $root) {
+- ++$count;
+- }
+- else {
+- carp "Can't remove directory $root: $!";
+- chmod($rp, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
+- or carp("and can't restore permissions to "
+- . sprintf("0%o",$rp) . "\n");
+- }
+- }
+- else {
+- if ($safe &&
+- ($Is_VMS ? !&VMS::Filespec::candelete($root)
+- : !(-l $root || -w $root)))
+- {
+- print "skipped $root\n" if $verbose;
+- next;
+- }
+- chmod $rp | 0600, $root
+- or carp "Can't make file $root writeable: $!"
+- if $force_writeable;
+- print "unlink $root\n" if $verbose;
+- # delete all versions under VMS
+- for (;;) {
+- unless (unlink $root) {
+- carp "Can't unlink file $root: $!";
+- if ($force_writeable) {
+- chmod $rp, $root
+- or carp("and can't restore permissions to "
+- . sprintf("0%o",$rp) . "\n");
+- }
+- last;
+- }
+- ++$count;
+- last unless $Is_VMS && lstat $root;
+- }
++ return 1;
++ }
++
++ unless (chdir $path)
++ {
++ carp "Can't chdir to $prefix$path ($!)";
++ return 0;
++ }
++
++ # avoid a race condition where a directory may be replaced by a
++ # symlink between the lstat and the chdir
++ my ($new_dev, $new_ino, $perm) = stat '.';
++ unless ("$new_dev:$new_ino" eq "$dev:$ino")
++ {
++ croak "Directory $prefix$path changed before chdir, aborting";
++ }
++
++ $perm &= 07777;
++ my $nperm = $perm | 0700;
++ unless ($safe or $nperm == $perm or chmod $nperm, '.')
++ {
++ carp "Can't make directory $prefix$path read+writeable ($!)";
++ $nperm = $perm;
++ }
++
++ my $count = 0;
++ if (opendir my $dir, '.')
++ {
++ my $entry;
++ while (defined ($entry = readdir $dir))
++ {
++ next if $entry =~ /^\.\.?$/;
++ $entry =~ /^(.*)$/s; $entry = $1; # untaint
++ $count += _rmtree $entry, "$prefix$path/", '..', $dev, $ino,
++ $verbose, $safe;
+ }
++
++ closedir $dir;
++ }
++
++ # restore directory permissions if required (in case the rmdir
++ # below fails) now, while we're still in the directory and may do
++ # so without a race via '.'
++ unless ($nperm == $perm or chmod $perm, '.')
++ {
++ carp "Can't restore permissions on directory $prefix$path ($!)";
++ }
++
++ # don't leave the caller in an unexpected directory
++ unless (chdir $up)
++ {
++ croak "Can't return to $up_name directory from $prefix$path ($!)";
++ }
++
++ # ensure that a chdir .. didn't take us somewhere other than
++ # where we expected (see CVE-2002-0435)
++ unless (($new_dev, $new_ino) = stat '.'
++ and "$new_dev:$new_ino" eq "$up_dev:$up_ino")
++ {
++ croak "\u$up_name directory changed since entering $prefix$path";
++ }
++
++ print "rmdir $prefix$path\n" if $verbose;
++ if (rmdir $path)
++ {
++ $count++;
++ }
++ else
++ {
++ carp "Can't remove directory $prefix$path ($!)";
++ }
++
++ return $count;
++}
++
++sub rmtree
++{
++ my ($p, $verbose, $safe) = @_;
++ $p = [] unless defined $p and length $p;
++ $p = [ $p ] unless ref $p;
++ my @paths = grep defined && length, @$p;
++
++ # default to "unsafe" for non-root (will chmod dirs)
++ $safe = $> ? 0 : 1 unless defined $safe;
++
++ unless (@paths)
++ {
++ carp "No root path(s) specified";
++ return;
++ }
++
++ opendir my $oldpwd, '.' or do {
++ carp "Can't fetch initial working directory";
++ return;
++ };
++
++ my ($dev, $ino) = stat '.' or do {
++ carp "Can't stat initial working directory";
++ return;
++ };
++
++ my $count = 0;
++ for my $path (@paths)
++ {
++ $count += _rmtree $path, '', $oldpwd, $dev, $ino, $verbose, $safe;
+ }
+
+ $count;
--- perl-5.8.8.orig/debian/patches/70_debian_errno_ver
+++ perl-5.8.8/debian/patches/70_debian_errno_ver
@@ -0,0 +1,21 @@
+Remove version check which can cause problems for long running
+processes embedding perl when upgrading to a newer version,
+compatible, but built on a different machine.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/ext/Errno/Errno_pm.PL perl-5.8.8/ext/Errno/Errno_pm.PL
+--- perl-5.8.8.orig/ext/Errno/Errno_pm.PL 2005-09-22 07:03:26.000000000 +1000
++++ perl-5.8.8/ext/Errno/Errno_pm.PL 2006-02-03 00:54:26.000000000 +1100
+@@ -315,13 +315,8 @@
+ package Errno;
+ our (\@EXPORT_OK,\%EXPORT_TAGS,\@ISA,\$VERSION,\%errno,\$AUTOLOAD);
+ use Exporter ();
+-use Config;
+ use strict;
+
+-"\$Config{'archname'}-\$Config{'osvers'}" eq
+-"$Config{'archname'}-$Config{'osvers'}" or
+- die "Errno architecture ($Config{'archname'}-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
+-
+ \$VERSION = "$VERSION";
+ \$VERSION = eval \$VERSION;
+ \@ISA = qw(Exporter);
--- perl-5.8.8.orig/debian/patches/03_fix_net_nntp
+++ perl-5.8.8/debian/patches/03_fix_net_nntp
@@ -0,0 +1,14 @@
+Fix precedence.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/Net/NNTP.pm perl-5.8.8/lib/Net/NNTP.pm
+--- perl-5.8.8.orig/lib/Net/NNTP.pm 2004-05-06 23:36:05.000000000 +1000
++++ perl-5.8.8/lib/Net/NNTP.pm 2006-02-01 23:41:48.000000000 +1100
+@@ -120,7 +120,7 @@
+ my $nntp = shift;
+ my @fh;
+
+- @fh = (pop) if @_ == 2 || (@_ && ref($_[0]) || ref(\$_[0]) eq 'GLOB');
++ @fh = (pop) if @_ == 2 || (@_ && (ref($_[0]) || ref(\$_[0]) eq 'GLOB'));
+
+ $nntp->_ARTICLE(@_)
+ ? $nntp->read_until_dot(@fh)
--- perl-5.8.8.orig/debian/patches/10_fix_installsitescript
+++ perl-5.8.8/debian/patches/10_fix_installsitescript
@@ -0,0 +1,170 @@
+Change 26536 by rgs@stencil on 2005/12/30 12:25:24
+
+ Subject: Re: [PATCH] Re: INSTALLSCRIPT versus INSTALLDIRS
+ From: Rafael Garcia-Suarez
+ Date: Mon, 12 Dec 2005 19:22:32 +0100
+ Message-ID: <20051212192232.39cd0c1e@grubert.mandrakesoft.com>
+
+Affected files ...
+
+... //depot/perl/lib/ExtUtils/MM_Any.pm#25 edit
+... //depot/perl/lib/ExtUtils/MM_Unix.pm#207 edit
+... //depot/perl/lib/ExtUtils/MakeMaker.pm#125 edit
+
+Differences ...
+
+diff --exclude=debian -Naur perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm perl-5.8.8/lib/ExtUtils/MM_Any.pm
+--- perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm 2005-04-13 17:49:53.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/MM_Any.pm 2006-06-02 09:43:43.000000000 +1000
+@@ -2,7 +2,7 @@
+
+ use strict;
+ use vars qw($VERSION @ISA);
+-$VERSION = '0.13';
++$VERSION = '0.13_01';
+
+ use File::Spec;
+ BEGIN { @ISA = qw(File::Spec); }
+@@ -1045,12 +1045,19 @@
+
+ $self->{INSTALLSITEBIN} ||= '$(INSTALLBIN)'
+ unless $Config{installsitebin};
++ $self->{INSTALLSITESCRIPT} ||= '$(INSTALLSCRIPT)'
++ unless $Config{installsitescript};
+
+ unless( $Config{installvendorbin} ) {
+ $self->{INSTALLVENDORBIN} ||= $Config{usevendorprefix}
+ ? $Config{installbin}
+ : '';
+ }
++ unless( $Config{installvendorscript} ) {
++ $self->{INSTALLVENDORSCRIPT} ||= $Config{usevendorprefix}
++ ? $Config{installscript}
++ : '';
++ }
+
+
+ my $iprefix = $Config{installprefixexp} || $Config{installprefix} ||
+@@ -1111,6 +1118,12 @@
+ script => { s => $iprefix,
+ t => 'perl',
+ d => 'bin' },
++ vendorscript=> { s => $vprefix,
++ t => 'vendor',
++ d => 'bin' },
++ sitescript => { s => $sprefix,
++ t => 'site',
++ d => 'bin' },
+ );
+
+ my %man_layouts =
+@@ -1253,7 +1266,6 @@
+ # Adjust for variable quirks.
+ $install{INSTALLARCHLIB} ||= delete $install{INSTALLARCH};
+ $install{INSTALLPRIVLIB} ||= delete $install{INSTALLLIB};
+- delete @install{qw(INSTALLVENDORSCRIPT INSTALLSITESCRIPT)};
+
+ foreach my $key (keys %install) {
+ $self->{$key} ||= $install{$key};
+@@ -1627,7 +1639,7 @@
+ return qw(PRIVLIB SITELIB VENDORLIB
+ ARCHLIB SITEARCH VENDORARCH
+ BIN SITEBIN VENDORBIN
+- SCRIPT
++ SCRIPT SITESCRIPT VENDORSCRIPT
+ MAN1DIR SITEMAN1DIR VENDORMAN1DIR
+ MAN3DIR SITEMAN3DIR VENDORMAN3DIR
+ );
+diff --exclude=debian -Naur perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm perl-5.8.8/lib/ExtUtils/MM_Unix.pm
+--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm 2005-05-21 19:42:56.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm 2006-06-02 09:43:53.000000000 +1000
+@@ -20,7 +20,7 @@
+
+ use ExtUtils::MakeMaker qw($Verbose neatvalue);
+
+-$VERSION = '1.50';
++$VERSION = '1.50_01';
+
+ require ExtUtils::MM_Any;
+ @ISA = qw(ExtUtils::MM_Any);
+@@ -2074,7 +2074,7 @@
+ $(INST_LIB) $(DESTINSTALLSITELIB) \
+ $(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
+ $(INST_BIN) $(DESTINSTALLSITEBIN) \
+- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
++ $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
+ $(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
+ $(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
+ $(NOECHO) $(WARN_IF_OLD_PACKLIST) \
+@@ -2087,7 +2087,7 @@
+ $(INST_LIB) $(DESTINSTALLVENDORLIB) \
+ $(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
+ $(INST_BIN) $(DESTINSTALLVENDORBIN) \
+- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
++ $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
+ $(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
+ $(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
+
+diff --exclude=debian -Naur perl-5.8.8.orig/lib/ExtUtils/MakeMaker.pm perl-5.8.8/lib/ExtUtils/MakeMaker.pm
+--- perl-5.8.8.orig/lib/ExtUtils/MakeMaker.pm 2005-10-22 00:11:04.000000000 +1000
++++ perl-5.8.8/lib/ExtUtils/MakeMaker.pm 2006-06-02 09:44:00.000000000 +1000
+@@ -21,7 +21,7 @@
+ use vars qw($Revision);
+ use strict;
+
+-$VERSION = '6.30';
++$VERSION = '6.30_01';
+ ($Revision = q$Revision: 4535 $) =~ /Revision:\s+(\S+)/;
+
+ @ISA = qw(Exporter);
+@@ -222,7 +222,7 @@
+ INSTALLMAN1DIR INSTALLMAN3DIR
+ INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR
+ INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR
+- INSTALLSCRIPT
++ INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
+ PERL_LIB PERL_ARCHLIB
+ SITELIBEXP SITEARCHEXP
+
+@@ -1084,7 +1084,7 @@
+ INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
+ INST_LIB INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
+ INST_BIN INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN
+- INST_SCRIPT INSTALLSCRIPT INSTALLSCRIPT INSTALLSCRIPT
++ INST_SCRIPT INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
+ INST_MAN1DIR INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
+ INST_MAN3DIR INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
+
+@@ -1545,7 +1545,7 @@
+ =item INSTALLSCRIPT
+
+ Used by 'make install' which copies files from INST_SCRIPT to this
+-directory.
++directory if INSTALLDIRS=perl.
+
+ =item INSTALLSITEARCH
+
+@@ -1572,6 +1572,11 @@
+
+ If set to 'none', no man pages will be installed.
+
++=item INSTALLSITESCRIPT
++
++Used by 'make install' which copies files from INST_SCRIPT to this
++directory if INSTALLDIRS is set to site (default).
++
+ =item INSTALLVENDORARCH
+
+ Used by 'make install', which copies files from INST_ARCHLIB to this
+@@ -1596,6 +1601,11 @@
+
+ If set to 'none', no man pages will be installed.
+
++=item INSTALLVENDORSCRIPT
++
++Used by 'make install' which copies files from INST_SCRIPT to this
++directory if INSTALLDIRS is set to is set to vendor.
++
+ =item INST_ARCHLIB
+
+ Same as INST_LIB for architecture dependent files.
--- perl-5.8.8.orig/debian/patches/65_debian_perl_synopsis
+++ perl-5.8.8/debian/patches/65_debian_perl_synopsis
@@ -0,0 +1,86 @@
+As reported in http://bugs.debian.org/278323 , the TOC in perl.pod
+should probably not be in the synopsis.
+
+Note NN_debian_ rather than NN_fix_ since it's upstream doesn't agree.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/pod/perl.pod perl-5.8.8/pod/perl.pod
+--- perl-5.8.8.orig/pod/perl.pod 2006-02-03 01:01:30.000000000 +1100
++++ perl-5.8.8/pod/perl.pod 2006-02-03 01:03:47.000000000 +1100
+@@ -16,6 +16,38 @@
+ S<[ B<-i>[I] ]>
+ S<[ B<-e> I<'command'> ] [ B<--> ] [ I ] [ I ]...>
+
++=head1 DESCRIPTION
++
++Perl is a language optimized for scanning arbitrary
++text files, extracting information from those text files, and printing
++reports based on that information. It's also a good language for many
++system management tasks. The language is intended to be practical
++(easy to use, efficient, complete) rather than beautiful (tiny,
++elegant, minimal).
++
++Perl combines (in the author's opinion, anyway) some of the best
++features of C, B, B, and B, so people familiar with
++those languages should have little difficulty with it. (Language
++historians will also note some vestiges of B, Pascal, and even
++BASIC-PLUS.) Expression syntax corresponds closely to C
++expression syntax. Unlike most Unix utilities, Perl does not
++arbitrarily limit the size of your data--if you've got the memory,
++Perl can slurp in your whole file as a single string. Recursion is of
++unlimited depth. And the tables used by hashes (sometimes called
++"associative arrays") grow as necessary to prevent degraded
++performance. Perl can use sophisticated pattern matching techniques to
++scan large amounts of data quickly. Although optimized for
++scanning text, Perl can also deal with binary data, and can make dbm
++files look like hashes. Setuid Perl scripts are safer than C programs
++through a dataflow tracing mechanism that prevents many stupid
++security holes.
++
++If you have a problem that would ordinarily use B or B or
++B, but it exceeds their capabilities or must run a little faster,
++and you don't want to write the silly thing in C, then Perl may be for
++you. There are also translators to turn your B and B
++scripts into Perl scripts.
++
+ If you're new to Perl, you should start with L, which is a
+ general intro for beginners and provides some background to help you
+ navigate the rest of Perl's extensive documentation.
+@@ -218,38 +250,6 @@
+ sure where you should look for help, try the B<-w> switch first. It
+ will often point out exactly where the trouble is.
+
+-=head1 DESCRIPTION
+-
+-Perl is a language optimized for scanning arbitrary
+-text files, extracting information from those text files, and printing
+-reports based on that information. It's also a good language for many
+-system management tasks. The language is intended to be practical
+-(easy to use, efficient, complete) rather than beautiful (tiny,
+-elegant, minimal).
+-
+-Perl combines (in the author's opinion, anyway) some of the best
+-features of C, B, B, and B, so people familiar with
+-those languages should have little difficulty with it. (Language
+-historians will also note some vestiges of B, Pascal, and even
+-BASIC-PLUS.) Expression syntax corresponds closely to C
+-expression syntax. Unlike most Unix utilities, Perl does not
+-arbitrarily limit the size of your data--if you've got the memory,
+-Perl can slurp in your whole file as a single string. Recursion is of
+-unlimited depth. And the tables used by hashes (sometimes called
+-"associative arrays") grow as necessary to prevent degraded
+-performance. Perl can use sophisticated pattern matching techniques to
+-scan large amounts of data quickly. Although optimized for
+-scanning text, Perl can also deal with binary data, and can make dbm
+-files look like hashes. Setuid Perl scripts are safer than C programs
+-through a dataflow tracing mechanism that prevents many stupid
+-security holes.
+-
+-If you have a problem that would ordinarily use B or B or
+-B, but it exceeds their capabilities or must run a little faster,
+-and you don't want to write the silly thing in C, then Perl may be for
+-you. There are also translators to turn your B and B
+-scripts into Perl scripts.
+-
+ But wait, there's more...
+
+ Begun in 1993 (see L), Perl version 5 is nearly a complete
--- perl-5.8.8.orig/debian/patches/06_fix_getopt_long_doc
+++ perl-5.8.8/debian/patches/06_fix_getopt_long_doc
@@ -0,0 +1,15 @@
+Allow "ignorecase_always" as a synonym for "ignore_case_always" to
+match the documentation.
+
+diff --exclude=debian -Naur perl-5.8.8.orig/lib/Getopt/Long.pm perl-5.8.8/lib/Getopt/Long.pm
+--- perl-5.8.8.orig/lib/Getopt/Long.pm 2005-12-15 11:33:58.000000000 +1100
++++ perl-5.8.8/lib/Getopt/Long.pm 2006-02-25 01:17:28.000000000 +1100
+@@ -1262,7 +1262,7 @@
+ elsif ( $try eq 'ignorecase' or $try eq 'ignore_case' ) {
+ $ignorecase = $action;
+ }
+- elsif ( $try eq 'ignore_case_always' ) {
++ elsif ( $try eq 'ignorecase_always' or $try eq 'ignore_case_always' ) {
+ $ignorecase = $action ? 2 : 0;
+ }
+ elsif ( $try eq 'bundling' ) {
--- perl-5.8.8.orig/debian/patches/73_debian_hppa_mips_optim
+++ perl-5.8.8/debian/patches/73_debian_hppa_mips_optim
@@ -0,0 +1,11 @@
+--- perl-5.8.8/cflags.SH 2006-08-06 02:28:34.000000000 +0100
++++ perl-5.8.8/cflags.SH 2006-08-06 02:27:15.000000000 +0100
+@@ -113,6 +113,8 @@ for file do
+ case $archname in
+ arm-*|armeb-*)
+ optimize=-Os;;
++ hppa-*|mips*-*)
++ optimize="$optimize -fno-delayed-branch";;
+ esac;;
+ pp_sys) ;;
+ regcomp) ;;
--- perl-5.8.8.orig/debian/patches/12_fix_file_spec
+++ perl-5.8.8/debian/patches/12_fix_file_spec
@@ -0,0 +1,47 @@
+Optimise the case where both $path and $base are relative.
+
+diff --exclude=debian -Naur perl-5.8.8.orig/lib/File/Spec/Unix.pm perl-5.8.8/lib/File/Spec/Unix.pm
+--- perl-5.8.8.orig/lib/File/Spec/Unix.pm 2005-08-28 03:14:38.000000000 +1000
++++ perl-5.8.8/lib/File/Spec/Unix.pm 2006-07-05 19:19:33.000000000 +1000
+@@ -354,25 +354,32 @@
+ sub abs2rel {
+ my($self,$path,$base) = @_;
+
+- # Clean up $path
+- if ( ! $self->file_name_is_absolute( $path ) ) {
+- $path = $self->rel2abs( $path ) ;
+- }
+- else {
+- $path = $self->canonpath( $path ) ;
+- }
+-
+ # Figure out the effective $base and clean it up.
+ if ( !defined( $base ) || $base eq '' ) {
+ $base = $self->_cwd();
+ }
+ elsif ( ! $self->file_name_is_absolute( $base ) ) {
+- $base = $self->rel2abs( $base ) ;
++ if ( ! $self->file_name_is_absolute( $path ) ) {
++ # optimisation where both paths are relative: save 2 x cwd
++ $base = $self->canonpath( "/$base" );
++ $path = "/$path";
++ }
++ else {
++ $base = $self->rel2abs( $base ) ;
++ }
+ }
+ else {
+ $base = $self->canonpath( $base ) ;
+ }
+
++ # Clean up $path
++ if ( ! $self->file_name_is_absolute( $path ) ) {
++ $path = $self->rel2abs( $path ) ;
++ }
++ else {
++ $path = $self->canonpath( $path ) ;
++ }
++
+ # Now, remove all leading components that are the same
+ my @pathchunks = $self->splitdir( $path);
+ my @basechunks = $self->splitdir( $base);
--- perl-5.8.8.orig/debian/patches/04_fix_reentr_erange
+++ perl-5.8.8/debian/patches/04_fix_reentr_erange
@@ -0,0 +1,1302 @@
+Change 25084 by davem@davem-splatty on 2005/07/05 18:17:34
+
+ a long /etc/groups entry could cause memory exhaustion.
+ Too small a buffer would cause ERANGE and a retry with double the
+ buffer size. later at EOF, the apparent error got 'stuck' as
+ ERANGE rather than ENOENT, so the buffer size doubled recursively
+
+diff -Naur --exclude=debian perl-5.8.8.orig/reentr.c perl-5.8.8/reentr.c
+--- perl-5.8.8.orig/reentr.c 2005-09-22 23:54:31.000000000 +1000
++++ perl-5.8.8/reentr.c 2006-02-02 00:00:13.000000000 +1100
+@@ -2,7 +2,7 @@
+ *
+ * reentr.c
+ *
+- * Copyright (C) 2002, 2003, 2005 by Larry Wall and others
++ * Copyright (C) 2002, 2003, 2005, 2006 by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+diff -Naur --exclude=debian perl-5.8.8.orig/reentr.h perl-5.8.8/reentr.h
+--- perl-5.8.8.orig/reentr.h 2005-09-19 01:58:21.000000000 +1000
++++ perl-5.8.8/reentr.h 2006-02-02 00:00:13.000000000 +1100
+@@ -2,7 +2,7 @@
+ *
+ * reentr.h
+ *
+- * Copyright (C) 2002, 2003, 2005 by Larry Wall and others
++ * Copyright (C) 2002, 2003, 2005, 2006 by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+diff -Naur --exclude=debian perl-5.8.8.orig/reentr.inc perl-5.8.8/reentr.inc
+--- perl-5.8.8.orig/reentr.inc 2005-09-19 01:58:21.000000000 +1000
++++ perl-5.8.8/reentr.inc 2006-02-02 00:00:13.000000000 +1100
+@@ -146,34 +146,34 @@
+ # undef getgrent
+ # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR
+ # ifdef PERL_CORE
+-# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
++# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
++# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
+ # else
+ # define getgrent() Perl_reentr_getgrent()
+ static struct group* Perl_reentr_getgrent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
++ return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR
+ # ifdef PERL_CORE
+-# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
++# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
++# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
+ # else
+ # define getgrent() Perl_reentr_getgrent()
+ static struct group* Perl_reentr_getgrent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
++ return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
+ }
+ # endif
+ # endif
+@@ -186,34 +186,34 @@
+ # endif
+ # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI
+ # ifdef PERL_CORE
+-# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
++# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
++# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
+ # else
+ # define getgrent() Perl_reentr_getgrent()
+ static struct group* Perl_reentr_getgrent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
++ return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH
+ # ifdef PERL_CORE
+-# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
++# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
++# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
+ # else
+ # define getgrent() Perl_reentr_getgrent()
+ static struct group* Perl_reentr_getgrent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
++ return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
+ }
+ # endif
+ # endif
+@@ -224,51 +224,51 @@
+ # undef getgrgid
+ # if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR
+ # ifdef PERL_CORE
+-# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
++# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
++# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
+ # else
+ # define getgrgid(a) Perl_reentr_getgrgid(a)
+ static struct group* Perl_reentr_getgrgid(gid_t a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
++ return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR
+ # ifdef PERL_CORE
+-# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
++# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
++# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
+ # else
+ # define getgrgid(a) Perl_reentr_getgrgid(a)
+ static struct group* Perl_reentr_getgrgid(gid_t a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
++ return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI
+ # ifdef PERL_CORE
+-# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
++# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
++# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
+ # else
+ # define getgrgid(a) Perl_reentr_getgrgid(a)
+ static struct group* Perl_reentr_getgrgid(gid_t a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
++ return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
+ }
+ # endif
+ # endif
+@@ -282,34 +282,34 @@
+ # undef getgrnam
+ # if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
+ # ifdef PERL_CORE
+-# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
++# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
++# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
+ # else
+ # define getgrnam(a) Perl_reentr_getgrnam(a)
+ static struct group* Perl_reentr_getgrnam(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
++ return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
+ # ifdef PERL_CORE
+-# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
++# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
++# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
+ # else
+ # define getgrnam(a) Perl_reentr_getgrnam(a)
+ static struct group* Perl_reentr_getgrnam(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
++ return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
+ }
+ # endif
+ # endif
+@@ -319,17 +319,17 @@
+ # endif
+ # if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
+ # ifdef PERL_CORE
+-# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
++# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
++# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
+ # else
+ # define getgrnam(a) Perl_reentr_getgrnam(a)
+ static struct group* Perl_reentr_getgrnam(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
++ return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
+ }
+ # endif
+ # endif
+@@ -343,17 +343,17 @@
+ # undef gethostbyaddr
+ # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE
+ # ifdef PERL_CORE
+-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
++# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
++# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+ # else
+ # define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
+ static struct hostent* Perl_reentr_gethostbyaddr(const char* a, size_t b, int c) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
++ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ }
+ # endif
+ # endif
+@@ -378,68 +378,68 @@
+ # endif
+ # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD
+ # ifdef PERL_CORE
+-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
++# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
++# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+ # else
+ # define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
+ static struct hostent* Perl_reentr_gethostbyaddr(const char* a, size_t b, int c) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
++ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD
+ # ifdef PERL_CORE
+-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
++# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
++# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+ # else
+ # define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
+ static struct hostent* Perl_reentr_gethostbyaddr(const char* a, int b, int c) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
++ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII
+ # ifdef PERL_CORE
+-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
++# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
++# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+ # else
+ # define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
+ static struct hostent* Perl_reentr_gethostbyaddr(const char* a, int b, int c) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
++ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE
+ # ifdef PERL_CORE
+-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
++# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
++# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+ # else
+ # define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
+ static struct hostent* Perl_reentr_gethostbyaddr(const void* a, socklen_t b, int c) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
++ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ }
+ # endif
+ # endif
+@@ -450,17 +450,17 @@
+ # undef gethostbyname
+ # if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
+ # ifdef PERL_CORE
+-# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
++# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
++# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
+ # else
+ # define gethostbyname(a) Perl_reentr_gethostbyname(a)
+ static struct hostent* Perl_reentr_gethostbyname(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
++ return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
+ }
+ # endif
+ # endif
+@@ -470,17 +470,17 @@
+ # endif
+ # if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+ # ifdef PERL_CORE
+-# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
++# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
++# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
+ # else
+ # define gethostbyname(a) Perl_reentr_gethostbyname(a)
+ static struct hostent* Perl_reentr_gethostbyname(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
++ return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
+ }
+ # endif
+ # endif
+@@ -491,34 +491,34 @@
+ # undef gethostent
+ # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
+ # ifdef PERL_CORE
+-# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
++# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
++# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
+ # else
+ # define gethostent() Perl_reentr_gethostent()
+ static struct hostent* Perl_reentr_gethostent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
++ return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE
+ # ifdef PERL_CORE
+-# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
++# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
++# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
+ # else
+ # define gethostent() Perl_reentr_gethostent()
+ static struct hostent* Perl_reentr_gethostent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
++ return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
+ }
+ # endif
+ # endif
+@@ -531,34 +531,34 @@
+ # endif
+ # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI
+ # ifdef PERL_CORE
+-# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
++# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
++# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
+ # else
+ # define gethostent() Perl_reentr_gethostent()
+ static struct hostent* Perl_reentr_gethostent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
++ return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD
+ # ifdef PERL_CORE
+-# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
++# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
++# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
+ # else
+ # define gethostent() Perl_reentr_gethostent()
+ static struct hostent* Perl_reentr_gethostent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
++ return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
+ }
+ # endif
+ # endif
+@@ -569,34 +569,34 @@
+ # undef getlogin
+ # if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW
+ # ifdef PERL_CORE
+-# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
++# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
++# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
+ # else
+ # define getlogin() Perl_reentr_getlogin()
+ static char* Perl_reentr_getlogin() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));
++ return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI
+ # ifdef PERL_CORE
+-# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
++# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
++# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
+ # else
+ # define getlogin() Perl_reentr_getlogin()
+ static char* Perl_reentr_getlogin() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));
++ return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0));
+ }
+ # endif
+ # endif
+@@ -613,34 +613,34 @@
+ # undef getnetbyaddr
+ # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE
+ # ifdef PERL_CORE
+-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
++# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
++# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+ # else
+ # define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
+ static struct netent* Perl_reentr_getnetbyaddr(unsigned long a, int b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI
+ # ifdef PERL_CORE
+-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
++# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
++# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+ # else
+ # define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
+ static struct netent* Perl_reentr_getnetbyaddr(long a, int b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ }
+ # endif
+ # endif
+@@ -653,68 +653,68 @@
+ # endif
+ # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD
+ # ifdef PERL_CORE
+-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
++# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
++# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+ # else
+ # define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
+ static struct netent* Perl_reentr_getnetbyaddr(in_addr_t a, int b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD
+ # ifdef PERL_CORE
+-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
++# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
++# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+ # else
+ # define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
+ static struct netent* Perl_reentr_getnetbyaddr(long a, int b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD
+ # ifdef PERL_CORE
+-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
++# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
++# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+ # else
+ # define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
+ static struct netent* Perl_reentr_getnetbyaddr(int a, int b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE
+ # ifdef PERL_CORE
+-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
++# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
++# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+ # else
+ # define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
+ static struct netent* Perl_reentr_getnetbyaddr(uint32_t a, int b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ }
+ # endif
+ # endif
+@@ -725,34 +725,34 @@
+ # undef getnetbyname
+ # if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
+ # ifdef PERL_CORE
+-# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
++# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
++# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
+ # else
+ # define getnetbyname(a) Perl_reentr_getnetbyname(a)
+ static struct netent* Perl_reentr_getnetbyname(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI
+ # ifdef PERL_CORE
+-# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
++# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
++# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
+ # else
+ # define getnetbyname(a) Perl_reentr_getnetbyname(a)
+ static struct netent* Perl_reentr_getnetbyname(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
+ }
+ # endif
+ # endif
+@@ -762,17 +762,17 @@
+ # endif
+ # if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+ # ifdef PERL_CORE
+-# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
++# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
++# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
+ # else
+ # define getnetbyname(a) Perl_reentr_getnetbyname(a)
+ static struct netent* Perl_reentr_getnetbyname(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
++ return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
+ }
+ # endif
+ # endif
+@@ -783,34 +783,34 @@
+ # undef getnetent
+ # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
+ # ifdef PERL_CORE
+-# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
++# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
++# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
+ # else
+ # define getnetent() Perl_reentr_getnetent()
+ static struct netent* Perl_reentr_getnetent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
++ return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE
+ # ifdef PERL_CORE
+-# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
++# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
++# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
+ # else
+ # define getnetent() Perl_reentr_getnetent()
+ static struct netent* Perl_reentr_getnetent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
++ return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
+ }
+ # endif
+ # endif
+@@ -823,34 +823,34 @@
+ # endif
+ # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI
+ # ifdef PERL_CORE
+-# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
++# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
++# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
+ # else
+ # define getnetent() Perl_reentr_getnetent()
+ static struct netent* Perl_reentr_getnetent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
++ return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD
+ # ifdef PERL_CORE
+-# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
++# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
++# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
+ # else
+ # define getnetent() Perl_reentr_getnetent()
+ static struct netent* Perl_reentr_getnetent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
++ return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
+ }
+ # endif
+ # endif
+@@ -861,17 +861,17 @@
+ # undef getprotobyname
+ # if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR
+ # ifdef PERL_CORE
+-# define getprotobyname(a) (((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
++# define getprotobyname(a) (((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getprotobyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
++# define getprotobyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
+ # else
+ # define getprotobyname(a) Perl_reentr_getprotobyname(a)
+ static struct protoent* Perl_reentr_getprotobyname(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
++ return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
+ }
+ # endif
+ # endif
+@@ -881,17 +881,17 @@
+ # endif
+ # if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
+ # ifdef PERL_CORE
+-# define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
++# define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getprotobyname(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
++# define getprotobyname(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
+ # else
+ # define getprotobyname(a) Perl_reentr_getprotobyname(a)
+ static struct protoent* Perl_reentr_getprotobyname(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
+- return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
++ return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
+ }
+ # endif
+ # endif
+@@ -902,17 +902,17 @@
+ # undef getprotobynumber
+ # if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR
+ # ifdef PERL_CORE
+-# define getprotobynumber(a) (((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
++# define getprotobynumber(a) (((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
++# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
+ # else
+ # define getprotobynumber(a) Perl_reentr_getprotobynumber(a)
+ static struct protoent* Perl_reentr_getprotobynumber(int a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
++ return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
+ }
+ # endif
+ # endif
+@@ -922,17 +922,17 @@
+ # endif
+ # if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD
+ # ifdef PERL_CORE
+-# define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
++# define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
++# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
+ # else
+ # define getprotobynumber(a) Perl_reentr_getprotobynumber(a)
+ static struct protoent* Perl_reentr_getprotobynumber(int a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
+- return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
++ return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
+ }
+ # endif
+ # endif
+@@ -943,34 +943,34 @@
+ # undef getprotoent
+ # if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR
+ # ifdef PERL_CORE
+-# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
++# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
++# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
+ # else
+ # define getprotoent() Perl_reentr_getprotoent()
+ static struct protoent* Perl_reentr_getprotoent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
++ return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI
+ # ifdef PERL_CORE
+-# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
++# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
++# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
+ # else
+ # define getprotoent() Perl_reentr_getprotoent()
+ static struct protoent* Perl_reentr_getprotoent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
++ return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
+ }
+ # endif
+ # endif
+@@ -980,17 +980,17 @@
+ # endif
+ # if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD
+ # ifdef PERL_CORE
+-# define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
++# define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getprotoent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
++# define getprotoent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
+ # else
+ # define getprotoent() Perl_reentr_getprotoent()
+ static struct protoent* Perl_reentr_getprotoent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
+- return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
++ return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
+ }
+ # endif
+ # endif
+@@ -1001,34 +1001,34 @@
+ # undef getpwent
+ # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR
+ # ifdef PERL_CORE
+-# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
++# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
++# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
+ # else
+ # define getpwent() Perl_reentr_getpwent()
+ static struct passwd* Perl_reentr_getpwent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
++ return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR
+ # ifdef PERL_CORE
+-# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
++# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
++# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
+ # else
+ # define getpwent() Perl_reentr_getpwent()
+ static struct passwd* Perl_reentr_getpwent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
++ return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
+ }
+ # endif
+ # endif
+@@ -1041,34 +1041,34 @@
+ # endif
+ # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI
+ # ifdef PERL_CORE
+-# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
++# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
++# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
+ # else
+ # define getpwent() Perl_reentr_getpwent()
+ static struct passwd* Perl_reentr_getpwent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
++ return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH
+ # ifdef PERL_CORE
+-# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
++# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
++# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
+ # else
+ # define getpwent() Perl_reentr_getpwent()
+ static struct passwd* Perl_reentr_getpwent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
++ return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
+ }
+ # endif
+ # endif
+@@ -1079,34 +1079,34 @@
+ # undef getpwnam
+ # if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
+ # ifdef PERL_CORE
+-# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
++# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
++# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
+ # else
+ # define getpwnam(a) Perl_reentr_getpwnam(a)
+ static struct passwd* Perl_reentr_getpwnam(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
++ return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
+ # ifdef PERL_CORE
+-# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
++# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
++# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
+ # else
+ # define getpwnam(a) Perl_reentr_getpwnam(a)
+ static struct passwd* Perl_reentr_getpwnam(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
++ return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
+ }
+ # endif
+ # endif
+@@ -1116,17 +1116,17 @@
+ # endif
+ # if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
+ # ifdef PERL_CORE
+-# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
++# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
++# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
+ # else
+ # define getpwnam(a) Perl_reentr_getpwnam(a)
+ static struct passwd* Perl_reentr_getpwnam(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
++ return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
+ }
+ # endif
+ # endif
+@@ -1137,51 +1137,51 @@
+ # undef getpwuid
+ # if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR
+ # ifdef PERL_CORE
+-# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
++# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
++# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
+ # else
+ # define getpwuid(a) Perl_reentr_getpwuid(a)
+ static struct passwd* Perl_reentr_getpwuid(uid_t a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
++ return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR
+ # ifdef PERL_CORE
+-# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
++# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
++# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
+ # else
+ # define getpwuid(a) Perl_reentr_getpwuid(a)
+ static struct passwd* Perl_reentr_getpwuid(uid_t a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
++ return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI
+ # ifdef PERL_CORE
+-# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
++# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
++# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
+ # else
+ # define getpwuid(a) Perl_reentr_getpwuid(a)
+ static struct passwd* Perl_reentr_getpwuid(uid_t a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
++ return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
+ }
+ # endif
+ # endif
+@@ -1195,17 +1195,17 @@
+ # undef getservbyname
+ # if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR
+ # ifdef PERL_CORE
+-# define getservbyname(a, b) (((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
++# define getservbyname(a, b) (((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
++# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
+ # else
+ # define getservbyname(a, b) Perl_reentr_getservbyname(a, b)
+ static struct servent* Perl_reentr_getservbyname(const char* a, const char* b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
+ }
+ # endif
+ # endif
+@@ -1215,17 +1215,17 @@
+ # endif
+ # if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
+ # ifdef PERL_CORE
+-# define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
++# define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
++# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
+ # else
+ # define getservbyname(a, b) Perl_reentr_getservbyname(a, b)
+ static struct servent* Perl_reentr_getservbyname(const char* a, const char* b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
+- return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
+ }
+ # endif
+ # endif
+@@ -1236,17 +1236,17 @@
+ # undef getservbyport
+ # if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR
+ # ifdef PERL_CORE
+-# define getservbyport(a, b) (((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
++# define getservbyport(a, b) (((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
++# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
+ # else
+ # define getservbyport(a, b) Perl_reentr_getservbyport(a, b)
+ static struct servent* Perl_reentr_getservbyport(int a, const char* b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
+ }
+ # endif
+ # endif
+@@ -1256,17 +1256,17 @@
+ # endif
+ # if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD
+ # ifdef PERL_CORE
+-# define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
++# define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
++# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
+ # else
+ # define getservbyport(a, b) Perl_reentr_getservbyport(a, b)
+ static struct servent* Perl_reentr_getservbyport(int a, const char* b) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
+- return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
++ return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
+ }
+ # endif
+ # endif
+@@ -1277,34 +1277,34 @@
+ # undef getservent
+ # if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR
+ # ifdef PERL_CORE
+-# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
++# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
++# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
+ # else
+ # define getservent() Perl_reentr_getservent()
+ static struct servent* Perl_reentr_getservent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
++ return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
+ }
+ # endif
+ # endif
+ # endif
+ # if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI
+ # ifdef PERL_CORE
+-# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
++# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
++# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
+ # else
+ # define getservent() Perl_reentr_getservent()
+ static struct servent* Perl_reentr_getservent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
++ return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
+ }
+ # endif
+ # endif
+@@ -1314,17 +1314,17 @@
+ # endif
+ # if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD
+ # ifdef PERL_CORE
+-# define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
++# define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getservent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
++# define getservent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
+ # else
+ # define getservent() Perl_reentr_getservent()
+ static struct servent* Perl_reentr_getservent() {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
+- return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
++ return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
+ }
+ # endif
+ # endif
+@@ -1335,17 +1335,17 @@
+ # undef getspnam
+ # if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
+ # ifdef PERL_CORE
+-# define getspnam(a) (((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0)))
++# define getspnam(a) (((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0)))
+ # else
+ # if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
+-# define getspnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));})
++# define getspnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));})
+ # else
+ # define getspnam(a) Perl_reentr_getspnam(a)
+ static struct spwd* Perl_reentr_getspnam(const char* a) {
+ dTHX;
+ int PL_REENTRANT_RETINT;
+ ;
+- return ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));
++ return ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));
+ }
+ # endif
+ # endif
+diff -Naur --exclude=debian perl-5.8.8.orig/reentr.pl perl-5.8.8/reentr.pl
+--- perl-5.8.8.orig/reentr.pl 2006-01-03 01:43:56.000000000 +1100
++++ perl-5.8.8/reentr.pl 2006-02-01 23:59:20.000000000 +1100
+@@ -711,7 +711,7 @@
+ if ($func =~ /^get/) {
+ my $rv = $v ? ", $v" : "";
+ if ($r eq 'I') {
+- $call = qq[((PL_REENTRANT_RETINT = $call)$test ? $true : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? ($seenm{$func}{$seenr{$func}})Perl_reentrant_retry("$func"$rv) : 0))];
++ $call = qq[((PL_REENTRANT_RETINT = $call)$test ? $true : ((PL_REENTRANT_RETINT == ERANGE) ? ($seenm{$func}{$seenr{$func}})Perl_reentrant_retry("$func"$rv) : 0))];
+ my $arg = join(", ", map { $seenm{$func}{substr($a,$_,1)}." ".$v[$_] } 0..$seenu{$func}-1);
+ my $ret = $seenr{$func} eq 'V' ? "" : "return ";
+ my $memzero_ = $memzero ? "$memzero, " : "";
--- perl-5.8.8.orig/debian/patches/17_fix_file_path_chdir
+++ perl-5.8.8/debian/patches/17_fix_file_path_chdir
@@ -0,0 +1,72 @@
+ExtUtils/Command.pm (among other things) expects to be able to destroy
+a strangely-permissioned testdir. This is a backport of the chdir/chmod
+work performed in File::Path released in Perl 5.10.0.
+
+--- perl-5.8.7.orig/lib/File/Path.pm 2008-12-05 13:23:32.000000000 -0800
++++ perl-5.8.7/lib/File/Path.pm 2008-12-05 13:33:13.000000000 -0800
+@@ -162,7 +162,7 @@
+ {
+ my ($path, $prefix, $up, $up_dev, $up_ino, $verbose, $safe) = @_;
+
+- my ($dev, $ino) = lstat $path or return 0;
++ my ($dev, $ino, $perm) = lstat $path or return 0;
+ unless (-d _)
+ {
+ print "unlink $prefix$path\n" if $verbose;
+@@ -175,15 +175,25 @@
+ return 1;
+ }
+
+- unless (chdir $path)
+- {
++ if (!chdir($path)) {
++ # see if we can escalate privileges to get in
++ # (e.g. funny protection mask such as -w- instead of rwx)
++ $perm &= 07777;
++ my $nperm = $perm | 0700;
++ if (!($safe or $nperm == $perm or chmod($nperm, $path))) {
++ carp "cannot make $prefix$path read-write-exec";
++ return 0;
++ }
++ elsif (!chdir($path)) {
+ carp "Can't chdir to $prefix$path ($!)";
+ return 0;
++ }
+ }
+
+ # avoid a race condition where a directory may be replaced by a
+ # symlink between the lstat and the chdir
+- my ($new_dev, $new_ino, $perm) = stat '.';
++ my ($new_dev, $new_ino);
++ ($new_dev, $new_ino, $perm) = stat '.';
+ unless ("$new_dev:$new_ino" eq "$dev:$ino")
+ {
+ croak "Directory $prefix$path changed before chdir, aborting";
+--- perl-5.8.8.orig/lib/ExtUtils/t/Command.t
++++ perl-5.8.8/lib/ExtUtils/t/Command.t
+@@ -23,7 +23,7 @@
+ }
+
+ BEGIN {
+- use Test::More tests => 38;
++ use Test::More tests => 39;
+ use File::Spec;
+ }
+
+@@ -148,7 +148,7 @@
+ $^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin' ||
+ $^O eq 'MacOS'
+ ) {
+- skip( "different file permission semantics on $^O", 4);
++ skip( "different file permission semantics on $^O", 5);
+ }
+
+ @ARGV = ('testdir');
+@@ -178,6 +178,7 @@
+
+ @ARGV = ('testdir');
+ rm_rf;
++ ok( ! -e 'testdir', 'rm_rf can delete a read-only dir' );
+ }
+
+
--- perl-5.8.8.orig/debian/patches/13_fix_perl5db
+++ perl-5.8.8/debian/patches/13_fix_perl5db
@@ -0,0 +1,27 @@
+The EPIC (Eclipse Perl Integration) folks are reporting a problem
+running the debugger via a remote socket:
+
+ http://sourceforge.net/forum/forum.php?thread_id=1528954&forum_id=258688
+
+modify perl5db.pl to read up to a newline from a remote socket.
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/perl5db.pl perl-5.8.8/lib/perl5db.pl
+--- perl-5.8.8.orig/lib/perl5db.pl 2005-10-29 10:03:21.000000000 +1000
++++ perl-5.8.8/lib/perl5db.pl 2006-07-08 13:35:17.000000000 +1000
+@@ -6354,9 +6354,13 @@
+ $OUT->write( join( '', @_ ) );
+
+ # Receive anything there is to receive.
+- my $stuff;
+- $IN->recv( $stuff, 2048 ); # XXX "what's wrong with sysread?"
+- # XXX Don't know. You tell me.
++ $stuff;
++ my $stuff = '';
++ my $buf;
++ do {
++ $IN->recv( $buf = '', 2048 ); # XXX "what's wrong with sysread?"
++ # XXX Don't know. You tell me.
++ } while length $buf and ($stuff .= $buf) !~ /\n/;
+
+ # What we got.
+ $stuff;
--- perl-5.8.8.orig/debian/patches/48_utf8_heap_overflow
+++ perl-5.8.8/debian/patches/48_utf8_heap_overflow
@@ -0,0 +1,256 @@
+Fix a double free / segfault with utf8 regexps
+Debian #454792
+[rt.cpan.org #48156]
+[rt.cpan.org #40641]
+upstream change 29204
+
+UTF8_ALLOW_DEFAULT definition in utf8.h picked from upstream change 27688
+
+diff --git a/embed.fnc b/embed.fnc
+index edfbc0e..26524c7 100644
+--- a/embed.fnc
++++ b/embed.fnc
+@@ -1168,6 +1168,7 @@ Es |void |reguni |NN const struct RExC_state_t *state|UV uv|NN char *s|NN STRLE
+ Es |regnode*|regclass |NN struct RExC_state_t *state
+ ERs |I32 |regcurly |NN const char *
+ Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op
++Es |UV |reg_recode |const char value|NULLOK SV **encp
+ Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp
+ Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd
+ Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
+diff --git a/embed.h b/embed.h
+index 2b38fd5..372b04f 100644
+--- a/embed.h
++++ b/embed.h
+@@ -1234,6 +1234,7 @@
+ #define regclass S_regclass
+ #define regcurly S_regcurly
+ #define reg_node S_reg_node
++#define reg_recode S_reg_recode
+ #define regpiece S_regpiece
+ #define reginsert S_reginsert
+ #define regoptail S_regoptail
+@@ -3277,6 +3278,7 @@
+ #define regclass(a) S_regclass(aTHX_ a)
+ #define regcurly(a) S_regcurly(aTHX_ a)
+ #define reg_node(a,b) S_reg_node(aTHX_ a,b)
++#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
+ #define regpiece(a,b) S_regpiece(aTHX_ a,b)
+ #define reginsert(a,b,c) S_reginsert(aTHX_ a,b,c)
+ #define regoptail(a,b,c) S_regoptail(aTHX_ a,b,c)
+diff --git a/pod/perldiag.pod b/pod/perldiag.pod
+index 9b3134c..7d95216 100644
+--- a/pod/perldiag.pod
++++ b/pod/perldiag.pod
+@@ -1900,6 +1900,15 @@ recognized by Perl or by a user-supplied handler. See L.
+ (W printf) Perl does not understand the given format conversion. See
+ L.
+
++=item Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/
++
++(W regexp) The numeric escape (for example C<\xHH>) of value < 256
++didn't correspond to a single character through the conversion
++from the encoding specified by the encoding pragma.
++The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead.
++The <-- HERE shows in the regular expression about where the
++escape was discovered.
++
+ =item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/
+
+ (F) The range specified in a character class had a minimum character
+diff --git a/proto.h b/proto.h
+index 6d185dd..ef6c0cf 100644
+--- a/proto.h
++++ b/proto.h
+@@ -1748,6 +1748,7 @@ STATIC I32 S_regcurly(pTHX_ const char *)
+ __attribute__warn_unused_result__;
+
+ STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *state, U8 op);
++STATIC UV S_reg_recode(pTHX_ const char value, SV **encp);
+ STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *state, I32 *flagp);
+ STATIC void S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode *opnd);
+ STATIC void S_regoptail(pTHX_ struct RExC_state_t *state, regnode *p, regnode *val);
+diff --git a/regcomp.c b/regcomp.c
+index 928cf39..98d48dd 100644
+--- a/regcomp.c
++++ b/regcomp.c
+@@ -2791,6 +2791,39 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp)
+ }
+
+ /*
++ * reg_recode
++ *
++ * It returns the code point in utf8 for the value in *encp.
++ * value: a code value in the source encoding
++ * encp: a pointer to an Encode object
++ *
++ * If the result from Encode is not a single character,
++ * it returns U+FFFD (Replacement character) and sets *encp to NULL.
++ */
++STATIC UV
++S_reg_recode(pTHX_ const char value, SV **encp)
++{
++ STRLEN numlen = 1;
++ SV * const sv = sv_2mortal(newSVpvn(&value, numlen));
++ const char * const s = encp && *encp ? sv_recode_to_utf8(sv, *encp)
++ : SvPVX(sv);
++ const STRLEN newlen = SvCUR(sv);
++ UV uv = UNICODE_REPLACEMENT;
++
++ if (newlen)
++ uv = SvUTF8(sv)
++ ? utf8n_to_uvchr((U8*)s, newlen, &numlen, UTF8_ALLOW_DEFAULT)
++ : *(U8*)s;
++
++ if (!newlen || numlen != newlen) {
++ uv = UNICODE_REPLACEMENT;
++ if (encp)
++ *encp = NULL;
++ }
++ return uv;
++}
++
++/*
+ - regatom - the lowest level
+ *
+ * Optimization: gobbles an entire sequence of ordinary characters so that
+@@ -3182,6 +3215,8 @@ tryagain:
+ ender = grok_hex(p, &numlen, &flags, NULL);
+ p += numlen;
+ }
++ if (PL_encoding && ender < 0x100)
++ goto recode_encoding;
+ break;
+ case 'c':
+ p++;
+@@ -3201,6 +3236,17 @@ tryagain:
+ --p;
+ goto loopdone;
+ }
++ if (PL_encoding && ender < 0x100)
++ goto recode_encoding;
++ break;
++ recode_encoding:
++ {
++ SV* enc = PL_encoding;
++ ender = reg_recode((const char)(U8)ender, &enc);
++ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
++ vWARN(p, "Invalid escape in the specified encoding");
++ RExC_utf8 = 1;
++ }
+ break;
+ case '\0':
+ if (p >= RExC_end)
+@@ -3331,32 +3377,6 @@ tryagain:
+ break;
+ }
+
+- /* If the encoding pragma is in effect recode the text of
+- * any EXACT-kind nodes. */
+- if (PL_encoding && PL_regkind[(U8)OP(ret)] == EXACT) {
+- STRLEN oldlen = STR_LEN(ret);
+- SV *sv = sv_2mortal(newSVpvn(STRING(ret), oldlen));
+-
+- if (RExC_utf8)
+- SvUTF8_on(sv);
+- if (sv_utf8_downgrade(sv, TRUE)) {
+- const char * const s = sv_recode_to_utf8(sv, PL_encoding);
+- const STRLEN newlen = SvCUR(sv);
+-
+- if (SvUTF8(sv))
+- RExC_utf8 = 1;
+- if (!SIZE_ONLY) {
+- DEBUG_r(PerlIO_printf(Perl_debug_log, "recode %*s to %*s\n",
+- (int)oldlen, STRING(ret),
+- (int)newlen, s));
+- Copy(s, STRING(ret), newlen, char);
+- STR_LEN(ret) += newlen - oldlen;
+- RExC_emit += STR_SZ(newlen) - STR_SZ(oldlen);
+- } else
+- RExC_size += STR_SZ(newlen) - STR_SZ(oldlen);
+- }
+- }
+-
+ return(ret);
+ }
+
+@@ -3734,6 +3754,8 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state)
+ value = grok_hex(RExC_parse, &numlen, &flags, NULL);
+ RExC_parse += numlen;
+ }
++ if (PL_encoding && value < 0x100)
++ goto recode_encoding;
+ break;
+ case 'c':
+ value = UCHARAT(RExC_parse++);
+@@ -3741,13 +3763,24 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state)
+ break;
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+- {
+- I32 flags = 0;
+- numlen = 3;
+- value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
+- RExC_parse += numlen;
+- break;
+- }
++ {
++ I32 flags = 0;
++ numlen = 3;
++ value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
++ RExC_parse += numlen;
++ if (PL_encoding && value < 0x100)
++ goto recode_encoding;
++ break;
++ }
++ recode_encoding:
++ {
++ SV* enc = PL_encoding;
++ value = reg_recode((const char)(U8)value, &enc);
++ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
++ vWARN(RExC_parse,
++ "Invalid escape in the specified encoding");
++ break;
++ }
+ default:
+ if (!SIZE_ONLY && isALPHA(value) && ckWARN(WARN_REGEXP))
+ vWARN2(RExC_parse,
+diff --git a/t/uni/tr_utf8.t b/t/uni/tr_utf8.t
+index 606a84a..354156a 100755
+--- a/t/uni/tr_utf8.t
++++ b/t/uni/tr_utf8.t
+@@ -31,7 +31,7 @@ BEGIN {
+ }
+
+ use strict;
+-use Test::More tests => 7;
++use Test::More tests => 8;
+
+ use encoding 'utf8';
+
+@@ -67,4 +67,12 @@ is($str, $hiragana, "s/// # hiragana -> katakana");
+ $line =~ tr/bcdeghijklmnprstvwxyz$02578/בצדעגהיײקלמנפּרסטװשכיזשױתײחא/;
+ is($line, "aבצדעfגהיײקלמנoפqּרסuטװשכיזש1ױ34ת6ײח9", "[perl #16843]");
+ }
++
++{
++ # [perl #40641]
++ my $str = qq/Gebääääääääääääääääääääude/;
++ my $reg = qr/Gebääääääääääääääääääääude/;
++ ok($str =~ /$reg/, "[perl #40641]");
++}
++
+ __END__
+diff --git a/utf8.h b/utf8.h
+index 6d63897..3800866 100644
+--- a/utf8.h
++++ b/utf8.h
+@@ -198,6 +198,8 @@ encoded character.
+ UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
+ #define UTF8_ALLOW_ANY 0x00FF
+ #define UTF8_CHECK_ONLY 0x0200
++#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \
++ UTF8_ALLOW_ANYUV)
+
+ #define UNICODE_SURROGATE_FIRST 0xD800
+ #define UNICODE_SURROGATE_LAST 0xDFFF
--- perl-5.8.8.orig/debian/patches/59_debian_cpan_version_check
+++ perl-5.8.8/debian/patches/59_debian_cpan_version_check
@@ -0,0 +1,35 @@
+Provide a method for supressing CPAN's version check.
+Patch from Robert Bihlmeyer (Bug#98235)
+
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/CPAN/FirstTime.pm perl-5.8.8/lib/CPAN/FirstTime.pm
+--- perl-5.8.8.orig/lib/CPAN/FirstTime.pm 2006-01-31 08:08:57.000000000 +1100
++++ perl-5.8.8/lib/CPAN/FirstTime.pm 2006-02-02 23:59:11.000000000 +1100
+@@ -464,6 +464,7 @@
+
+ # We don't ask that now, it will be noticed in time, won't it?
+ $CPAN::Config->{'inhibit_startup_message'} = 0;
++ $CPAN::Config->{'cpan_version_check'} = 1;
+ $CPAN::Config->{'getcwd'} = 'cwd';
+
+ print "\n\n";
+diff -Naur --exclude=debian perl-5.8.8.orig/lib/CPAN.pm perl-5.8.8/lib/CPAN.pm
+--- perl-5.8.8.orig/lib/CPAN.pm 2006-02-01 01:11:22.000000000 +1100
++++ perl-5.8.8/lib/CPAN.pm 2006-02-02 23:59:11.000000000 +1100
+@@ -3290,7 +3290,8 @@
+ )
+ ) {
+ local($^W)= 0;
+- if ($version > $CPAN::VERSION){
++ if ($CPAN::Config->{cpan_version_check} &&
++ $version > $CPAN::VERSION){
+ $CPAN::Frontend->myprint(qq{
+ There's a new CPAN.pm version (v$version) available!
+ [Current version is v$CPAN::VERSION]
+@@ -6764,6 +6765,7 @@
+ index_expire after this many days refetch index files
+ cache_metadata use serializer to cache metadata
+ cpan_home local directory reserved for this package
++ cpan_version_check if true, warns you when the CPAN module is out of date.
+ dontload_hash anonymous hash: modules in the keys will not be
+ loaded by the CPAN::has_inst() routine
+ gzip location of external program gzip
--- perl-5.8.8.orig/debian/patches/16_fix_net_smtp_docs
+++ perl-5.8.8/debian/patches/16_fix_net_smtp_docs
@@ -0,0 +1,13 @@
+Complete the documentation for Net::SMTP
+
+diff -ru perl-5.8.8.orig/lib/Net/SMTP.pm perl-5.8.8/lib/Net/SMTP.pm
+--- perl-5.8.8.orig/lib/Net/SMTP.pm 2004-07-04 00:47:13.000000000 +0200
++++ perl-5.8.8/lib/Net/SMTP.pm 2004-07-04 01:24:37.000000000 +0200
+@@ -623,6 +623,7 @@
+
+ B - Enable debugging information
+
++B - Select a port on the remote host to connect to (default is 25)
+
+ Example:
+
--- perl-5.8.8.orig/debian/patches/10_fix_h2ph_include_quote
+++ perl-5.8.8/debian/patches/10_fix_h2ph_include_quote
@@ -0,0 +1,62 @@
+
+Allow the quote mark delimiter also for those #include directives chased with
+"h2ph -a". Debian bug #479762.
+
+Also add the directory prefix of the current file when the quote syntax is
+used; 'require' will only look in @INC, not the current directory.
+
+Upstream change 33835.
+diff --git a/utils/h2ph.PL b/utils/h2ph.PL
+index 0bfea18..a3ff285 100644
+--- a/utils/h2ph.PL
++++ b/utils/h2ph.PL
+@@ -85,7 +85,7 @@ sub reindent($) {
+ }
+
+ my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile);
+-my ($incl, $incl_type, $next);
++my ($incl, $incl_type, $incl_quote, $next);
+ while (defined (my $file = next_file())) {
+ if (-l $file and -d $file) {
+ link_if_possible($file) if ($opt_l);
+@@ -186,9 +186,10 @@ while (defined (my $file = next_file())) {
+ print OUT $t,"unless(defined(\&$name)) {\n sub $name () {\t",$new,";}\n}\n";
+ }
+ }
+- } elsif (/^(include|import|include_next)\s*[<\"](.*)[>\"]/) {
++ } elsif (/^(include|import|include_next)\s*([<\"])(.*)[>\"]/) {
+ $incl_type = $1;
+- $incl = $2;
++ $incl_quote = $2;
++ $incl = $3;
+ if (($incl_type eq 'include_next') ||
+ ($opt_e && exists($bad_file{$incl}))) {
+ $incl =~ s/\.h$/.ph/;
+@@ -221,6 +222,10 @@ while (defined (my $file = next_file())) {
+ "warn(\$\@) if \$\@;\n");
+ } else {
+ $incl =~ s/\.h$/.ph/;
++ # copy the prefix in the quote syntax (#include "x.h") case
++ if ($incl !~ m|/| && $incl_quote eq q{"} && $file =~ m|^(.*)/|) {
++ $incl = "$1/$incl";
++ }
+ print OUT $t,"require '$incl';\n";
+ }
+ } elsif (/^ifdef\s+(\w+)/) {
+@@ -724,8 +729,13 @@ sub queue_includes_from
+ $line .= ;
+ }
+
+- if ($line =~ /^#\s*include\s+<(.*?)>/) {
+- push(@ARGV, $1) unless $Is_converted{$1};
++ if ($line =~ /^#\s*include\s+([<"])(.*?)[>"]/) {
++ my ($delimiter, $new_file) = ($1, $2);
++ # copy the prefix in the quote syntax (#include "x.h") case
++ if ($delimiter eq q{"} && $file =~ m|^(.*)/|) {
++ $new_file = "$1/$new_file";
++ }
++ push(@ARGV, $new_file) unless $Is_converted{$new_file};
+ }
+ }
+ close HEADER;
+
--- perl-5.8.8.orig/debian/perl-base.files
+++ perl-5.8.8/debian/perl-base.files
@@ -0,0 +1,70 @@
+usr/bin/perl
+usr/lib/perl/*/B.pm
+usr/lib/perl/*/B/Deparse.pm
+usr/lib/perl/*/Config.pm
+usr/lib/perl/*/Cwd.pm
+usr/lib/perl/*/DynaLoader.pm
+usr/lib/perl/*/Errno.pm
+usr/lib/perl/*/Fcntl.pm
+usr/lib/perl/*/File/Glob.pm
+usr/lib/perl/*/IO.pm
+usr/lib/perl/*/IO/File.pm
+usr/lib/perl/*/IO/Handle.pm
+usr/lib/perl/*/IO/Pipe.pm
+usr/lib/perl/*/IO/Seekable.pm
+usr/lib/perl/*/IO/Select.pm
+usr/lib/perl/*/IO/Socket
+usr/lib/perl/*/IO/Socket.pm
+usr/lib/perl/*/List/Util.pm
+usr/lib/perl/*/POSIX.pm
+usr/lib/perl/*/Scalar/Util.pm
+usr/lib/perl/*/Socket.pm
+usr/lib/perl/*/XSLoader.pm
+usr/lib/perl/*/auto/Cwd
+usr/lib/perl/*/auto/DynaLoader
+usr/lib/perl/*/auto/Fcntl
+usr/lib/perl/*/auto/File/Glob
+usr/lib/perl/*/auto/IO
+usr/lib/perl/*/auto/List/Util
+usr/lib/perl/*/auto/POSIX/POSIX.bs
+usr/lib/perl/*/auto/POSIX/POSIX.so
+usr/lib/perl/*/auto/POSIX/autosplit.ix
+usr/lib/perl/*/auto/POSIX/load_imports.al
+usr/lib/perl/*/auto/Socket
+usr/lib/perl/*/lib.pm
+usr/lib/perl/*/re.pm
+usr/share/man/man1/perl.1
+usr/share/perl/*/AutoLoader.pm
+usr/share/perl/*/Carp.pm
+usr/share/perl/*/Carp/Heavy.pm
+usr/share/perl/*/Exporter.pm
+usr/share/perl/*/Exporter/Heavy.pm
+usr/share/perl/*/File/Spec.pm
+usr/share/perl/*/File/Spec/Unix.pm
+usr/share/perl/*/FileHandle.pm
+usr/share/perl/*/Getopt/Long.pm
+usr/share/perl/*/IPC/Open2.pm
+usr/share/perl/*/IPC/Open3.pm
+usr/share/perl/*/SelectSaver.pm
+usr/share/perl/*/Symbol.pm
+usr/share/perl/*/Text/ParseWords.pm
+usr/share/perl/*/Text/Tabs.pm
+usr/share/perl/*/Text/Wrap.pm
+usr/share/perl/*/attributes.pm
+usr/share/perl/*/base.pm
+usr/share/perl/*/bytes.pm
+usr/share/perl/*/bytes_heavy.pl
+usr/share/perl/*/constant.pm
+usr/share/perl/*/fields.pm
+usr/share/perl/*/integer.pm
+usr/share/perl/*/locale.pm
+usr/share/perl/*/overload.pm
+usr/share/perl/*/strict.pm
+usr/share/perl/*/utf8.pm
+usr/share/perl/*/utf8_heavy.pl
+usr/share/perl/*/unicore/PVA.pl
+usr/share/perl/*/unicore/Exact.pl
+usr/share/perl/*/unicore/Canonical.pl
+usr/share/perl/*/vars.pm
+usr/share/perl/*/warnings.pm
+usr/share/perl/*/warnings/register.pm
--- perl-5.8.8.orig/debian/perl-doc.files
+++ perl-5.8.8/debian/perl-doc.files
@@ -0,0 +1,3 @@
+usr/bin/perldoc
+usr/share/man
+usr/share/perl/*/pod
--- perl-5.8.8.orig/debian/perl-suid.files
+++ perl-5.8.8/debian/perl-suid.files
@@ -0,0 +1 @@
+usr/bin/sperl*
--- perl-5.8.8.orig/debian/libperl-dev.files
+++ perl-5.8.8/debian/libperl-dev.files
@@ -0,0 +1,2 @@
+usr/lib/libperl.a
+usr/lib/libperl.so
--- perl-5.8.8.orig/regexec.c
+++ perl-5.8.8/regexec.c
@@ -454,7 +454,11 @@
"String too short... [re_intuit_start]\n"));
goto fail;
}
- strbeg = (sv && SvPOK(sv)) ? strend - SvCUR(sv) : strpos;
+ /* quarl 2007-03-14
+ * Need to check SvPOKp rather than SvPOK in case of taint mode +
+ * studied regexp. Reference: 615e0643-ac86-4c31-9cd3-3526b2fc883c */
+ strbeg = (sv && (SvPOK(sv) || SvPOKp(sv))) ? strend - SvCUR(sv) : strpos;
+ /* DEBUG_r( PerlIO_printf(Perl_debug_log, "## sv_flags=%p, SvPOK=%d, SvPOKp=%d, strbeg = %p\n", sv ? sv->sv_flags : 0, (sv && SvPOK(sv) ? 1:0), (sv && SvPOKp(sv) ? 1:0), strbeg) ); */
PL_regeol = strend;
if (do_utf8) {
if (!prog->check_utf8 && prog->check_substr)
--- perl-5.8.8.orig/embed.h
+++ perl-5.8.8/embed.h
@@ -1234,6 +1234,7 @@
#define regclass S_regclass
#define regcurly S_regcurly
#define reg_node S_reg_node
+#define reg_recode S_reg_recode
#define regpiece S_regpiece
#define reginsert S_reginsert
#define regoptail S_regoptail
@@ -3277,6 +3278,7 @@
#define regclass(a) S_regclass(aTHX_ a)
#define regcurly(a) S_regcurly(aTHX_ a)
#define reg_node(a,b) S_reg_node(aTHX_ a,b)
+#define reg_recode(a,b) S_reg_recode(aTHX_ a,b)
#define regpiece(a,b) S_regpiece(aTHX_ a,b)
#define reginsert(a,b,c) S_reginsert(aTHX_ a,b,c)
#define regoptail(a,b,c) S_regoptail(aTHX_ a,b,c)
--- perl-5.8.8.orig/reentr.pl
+++ perl-5.8.8/reentr.pl
@@ -711,7 +711,7 @@
if ($func =~ /^get/) {
my $rv = $v ? ", $v" : "";
if ($r eq 'I') {
- $call = qq[((PL_REENTRANT_RETINT = $call)$test ? $true : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? ($seenm{$func}{$seenr{$func}})Perl_reentrant_retry("$func"$rv) : 0))];
+ $call = qq[((PL_REENTRANT_RETINT = $call)$test ? $true : ((PL_REENTRANT_RETINT == ERANGE) ? ($seenm{$func}{$seenr{$func}})Perl_reentrant_retry("$func"$rv) : 0))];
my $arg = join(", ", map { $seenm{$func}{substr($a,$_,1)}." ".$v[$_] } 0..$seenu{$func}-1);
my $ret = $seenr{$func} eq 'V' ? "" : "return ";
my $memzero_ = $memzero ? "$memzero, " : "";
--- perl-5.8.8.orig/ext/Time/HiRes/t/HiRes.t
+++ perl-5.8.8/ext/Time/HiRes/t/HiRes.t
@@ -65,7 +65,7 @@
my $have_alarm = $Config{d_alarm};
my $have_fork = $Config{d_fork};
-my $waitfor = 60; # 10-20 seconds is normal (load affects this).
+my $waitfor = 300; # 10-20 seconds is normal (load affects this).
my $timer_pid;
my $TheEnd;
--- perl-5.8.8.orig/ext/DynaLoader/dl_hpux.xs
+++ perl-5.8.8/ext/DynaLoader/dl_hpux.xs
@@ -102,19 +102,6 @@
sv_setiv( ST(0), PTR2IV(obj) );
-int
-dl_unload_file(libref)
- void * libref
- CODE:
- DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_unload_file(%lx):\n", PTR2ul(libref)));
- RETVAL = (shl_unload(libref) == 0 ? 1 : 0);
- if (!RETVAL)
- SaveError(aTHX_ "%s", Strerror(errno));
- DLDEBUG(2,PerlIO_printf(Perl_debug_log, " retval = %d\n", RETVAL));
- OUTPUT:
- RETVAL
-
-
void *
dl_find_symbol(libhandle, symbolname)
void * libhandle
--- perl-5.8.8.orig/ext/DynaLoader/DynaLoader_pm.PL
+++ perl-5.8.8/ext/DynaLoader/DynaLoader_pm.PL
@@ -29,7 +29,7 @@
use vars qw($VERSION *AUTOLOAD);
-$VERSION = '1.05'; # avoid typo warning
+$VERSION = '1.04'; # avoid typo warning
require AutoLoader;
*AUTOLOAD = \&AutoLoader::AUTOLOAD;
@@ -85,7 +85,6 @@
@dl_library_path = (); # path to look for files
#XSLoader.pm may have added elements before we were required
-#@dl_shared_objects = (); # shared objects for symbols we have
#@dl_librefs = (); # things we have loaded
#@dl_modules = (); # Modules we have loaded
@@ -340,9 +339,6 @@
my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);
# See comment block above
-
- push(@dl_shared_objects, $file); # record files loaded
-
&$xs(@args);
}
@@ -559,7 +555,6 @@
$dl_debug
@dl_librefs
@dl_modules
- @dl_shared_objects
Implemented in:
bootstrap($modulename) Perl
@filepaths = dl_findfile(@names) Perl
@@ -635,10 +630,6 @@
An array of module (package) names that have been bootstrap'ed.
-=item @dl_shared_objects
-
-An array of file names for the shared objects that were loaded.
-
=item dl_error()
Syntax:
--- perl-5.8.8.orig/ext/DynaLoader/XSLoader_pm.PL
+++ perl-5.8.8/ext/DynaLoader/XSLoader_pm.PL
@@ -118,7 +118,6 @@
my $xs = dl_install_xsub("${module}::bootstrap", $boot_symbol_ref, $file);
# See comment block above
- push(@DynaLoader::dl_shared_objects, $file); # record files loaded
return &$xs(@_);
retry:
--- perl-5.8.8.orig/ext/ODBM_File/hints/linux.pl
+++ perl-5.8.8/ext/ODBM_File/hints/linux.pl
@@ -1,3 +1,3 @@
# uses GDBM dbm compatibility feature - at least on SuSE 8.0
-$self->{LIBS} = ['-lgdbm'];
+$self->{LIBS} = ['-lgdbm_compat'];
--- perl-5.8.8.orig/ext/Encode/bin/enc2xs
+++ perl-5.8.8/ext/Encode/bin/enc2xs
@@ -909,10 +909,11 @@
eval { require File::Find; };
my (@inc, %e2x_dir);
for my $inc (@INC){
+ next unless -d $inc; # skip non-existent directories
push @inc, $inc unless $inc eq '.'; #skip current dir
}
File::Find::find(
- sub {
+ { wanted => sub {
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= lstat($_) or return;
@@ -922,7 +923,7 @@
$e2x_dir{$File::Find::dir} ||= $mtime;
}
return;
- }, @inc);
+ }, follow => 1}, @inc);
warn join("\n", keys %e2x_dir), "\n";
for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){
$_E2X = $d;
--- perl-5.8.8.orig/ext/NDBM_File/hints/linux.pl
+++ perl-5.8.8/ext/NDBM_File/hints/linux.pl
@@ -3,6 +3,4 @@
# (no null key support)
# Jonathan Stowe
use Config;
-use ExtUtils::Liblist;
-($self->{LIBS}) = ExtUtils::Liblist->ext('-lgdbm -lgdbm_compat')
- if $Config{libs} =~ /(?:^|\s)-lgdbm(?:\s|$)/;
+$self->{LIBS} = ['-lgdbm_compat'] if $Config{libs} =~ /(?:^|\s)-lgdbm_compat(?:\s|$)/;
--- perl-5.8.8.orig/ext/NDBM_File/NDBM_File.xs
+++ perl-5.8.8/ext/NDBM_File/NDBM_File.xs
@@ -1,7 +1,7 @@
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
-#include
+#include
typedef struct {
DBM * dbp ;
--- perl-5.8.8.orig/ext/DB_File/version.c
+++ perl-5.8.8/ext/DB_File/version.c
@@ -48,12 +48,14 @@
(void)db_version(&Major, &Minor, &Patch) ;
+#ifndef DEBIAN
/* Check that the versions of db.h and libdb.a are the same */
if (Major != DB_VERSION_MAJOR || Minor != DB_VERSION_MINOR
|| Patch != DB_VERSION_PATCH)
croak("\nDB_File needs compatible versions of libdb & db.h\n\tyou have db.h version %d.%d.%d and libdb version %d.%d.%d\n",
DB_VERSION_MAJOR, DB_VERSION_MINOR, DB_VERSION_PATCH,
Major, Minor, Patch) ;
+#endif /* DEBIAN */
/* check that libdb is recent enough -- we need 2.3.4 or greater */
if (Major == 2 && (Minor < 3 || (Minor == 3 && Patch < 4)))
--- perl-5.8.8.orig/ext/Errno/Errno_pm.PL
+++ perl-5.8.8/ext/Errno/Errno_pm.PL
@@ -315,13 +315,8 @@
package Errno;
our (\@EXPORT_OK,\%EXPORT_TAGS,\@ISA,\$VERSION,\%errno,\$AUTOLOAD);
use Exporter ();
-use Config;
use strict;
-"\$Config{'archname'}-\$Config{'osvers'}" eq
-"$Config{'archname'}-$Config{'osvers'}" or
- die "Errno architecture ($Config{'archname'}-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
-
\$VERSION = "$VERSION";
\$VERSION = eval \$VERSION;
\@ISA = qw(Exporter);
--- perl-5.8.8.orig/ext/B/B/C.pm
+++ perl-5.8.8/ext/B/B/C.pm
@@ -647,7 +647,7 @@
return $sym if defined $sym;
my $val= $sv->NVX;
$val .= '.00' if $val =~ /^-?\d+$/;
- $xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->IVX, $val));
+ $xpvnvsect->add(sprintf("0, 0, 0, %d, %s", $sv->NVX, $val));
$svsect->add(sprintf("&xpvnv_list[%d], %lu, 0x%x",
$xpvnvsect->index, $sv->REFCNT , $sv->FLAGS));
return savesym($sv, sprintf("&sv_list[%d]", $svsect->index));
--- perl-5.8.8.orig/reentr.c
+++ perl-5.8.8/reentr.c
@@ -2,7 +2,7 @@
*
* reentr.c
*
- * Copyright (C) 2002, 2003, 2005 by Larry Wall and others
+ * Copyright (C) 2002, 2003, 2005, 2006 by Larry Wall and others
*
* You may distribute under the terms of either the GNU General Public
* License or the Artistic License, as specified in the README file.
--- perl-5.8.8.orig/utf8.h
+++ perl-5.8.8/utf8.h
@@ -198,6 +198,8 @@
UTF8_ALLOW_SURROGATE|UTF8_ALLOW_FFFF)
#define UTF8_ALLOW_ANY 0x00FF
#define UTF8_CHECK_ONLY 0x0200
+#define UTF8_ALLOW_DEFAULT (ckWARN(WARN_UTF8) ? 0 : \
+ UTF8_ALLOW_ANYUV)
#define UNICODE_SURROGATE_FIRST 0xD800
#define UNICODE_SURROGATE_LAST 0xDFFF
--- perl-5.8.8.orig/hints/linux.sh
+++ perl-5.8.8/hints/linux.sh
@@ -94,13 +94,6 @@
# use -O2 by default ; -O3 doesn't seem to bring significant benefits with gcc
'')
optimize='-O2'
- case "`uname -m`" in
- ppc*)
- # on ppc, it seems that gcc (at least gcc 3.3.2) isn't happy
- # with -O2 ; so downgrade to -O1.
- optimize='-O1'
- ;;
- esac
;;
esac
@@ -260,6 +253,7 @@
sparc*)
case "$cccdlflags" in
*-fpic*) cccdlflags="`echo $cccdlflags|sed 's/-fpic/-fPIC/'`" ;;
+ *-fPIC*) ;;
*) cccdlflags="$cccdlflags -fPIC" ;;
esac
;;
--- perl-5.8.8.orig/Makefile.SH
+++ perl-5.8.8/Makefile.SH
@@ -43,12 +43,7 @@
true)
# Prefix all runs of 'miniperl' and 'perl' with
# $ldlibpth so that ./perl finds *this* shared libperl.
- case "$LD_LIBRARY_PATH" in
- '')
- ldlibpth="LD_LIBRARY_PATH=`pwd`";;
- *)
- ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
- esac
+ ldlibpth=LD_LIBRARY_PATH=`pwd`'$${LD_LIBRARY_PATH:+:}$$LD_LIBRARY_PATH'
pldlflags="$cccdlflags"
static_target='static_pic'
@@ -101,7 +96,7 @@
;;
esac
case "$ldlibpthname" in
- '') ;;
+ ''|LD_LIBRARY_PATH) ;;
*)
case "$osname" in
os2)
--- perl-5.8.8.orig/utils/c2ph.PL
+++ perl-5.8.8/utils/c2ph.PL
@@ -1320,7 +1320,7 @@
$intrinsics{$_[1]} = $template{$_[0]};
}
close(PIPE) || die "couldn't read intrinsics!";
- unlink($TMP, '$SAFEDIR/a.out');
+ unlink($TMP, "$SAFEDIR/a.out");
print STDERR "done\n" if $trace;
}
--- perl-5.8.8.orig/utils/h2ph.PL
+++ perl-5.8.8/utils/h2ph.PL
@@ -85,7 +85,7 @@
}
my ($t, $tab, %curargs, $new, $eval_index, $dir, $name, $args, $outfile);
-my ($incl, $incl_type, $next);
+my ($incl, $incl_type, $incl_quote, $next);
while (defined (my $file = next_file())) {
if (-l $file and -d $file) {
link_if_possible($file) if ($opt_l);
@@ -186,9 +186,10 @@
print OUT $t,"unless(defined(\&$name)) {\n sub $name () {\t",$new,";}\n}\n";
}
}
- } elsif (/^(include|import|include_next)\s*[<\"](.*)[>\"]/) {
+ } elsif (/^(include|import|include_next)\s*([<\"])(.*)[>\"]/) {
$incl_type = $1;
- $incl = $2;
+ $incl_quote = $2;
+ $incl = $3;
if (($incl_type eq 'include_next') ||
($opt_e && exists($bad_file{$incl}))) {
$incl =~ s/\.h$/.ph/;
@@ -221,6 +222,10 @@
"warn(\$\@) if \$\@;\n");
} else {
$incl =~ s/\.h$/.ph/;
+ # copy the prefix in the quote syntax (#include "x.h") case
+ if ($incl !~ m|/| && $incl_quote eq q{"} && $file =~ m|^(.*)/|) {
+ $incl = "$1/$incl";
+ }
print OUT $t,"require '$incl';\n";
}
} elsif (/^ifdef\s+(\w+)/) {
@@ -514,7 +519,7 @@
}
} else {
if ($inif && $new !~ /defined\s*\($/) {
- $new .= '(defined(&' . $id . ') ? &' . $id . ' : 0)';
+ $new .= '(defined(&' . $id . ') ? &' . $id . ' : undef)';
} elsif (/^\[/) {
$new .= " \$$id";
} else {
@@ -724,8 +729,13 @@
$line .= ;
}
- if ($line =~ /^#\s*include\s+<(.*?)>/) {
- push(@ARGV, $1) unless $Is_converted{$1};
+ if ($line =~ /^#\s*include\s+([<"])(.*?)[>"]/) {
+ my ($delimiter, $new_file) = ($1, $2);
+ # copy the prefix in the quote syntax (#include "x.h") case
+ if ($delimiter eq q{"} && $file =~ m|^(.*)/|) {
+ $new_file = "$1/$new_file";
+ }
+ push(@ARGV, $new_file) unless $Is_converted{$new_file};
}
}
close HEADER;
--- perl-5.8.8.orig/embed.fnc
+++ perl-5.8.8/embed.fnc
@@ -1168,6 +1168,7 @@
Es |regnode*|regclass |NN struct RExC_state_t *state
ERs |I32 |regcurly |NN const char *
Es |regnode*|reg_node |NN struct RExC_state_t *state|U8 op
+Es |UV |reg_recode |const char value|NULLOK SV **encp
Es |regnode*|regpiece |NN struct RExC_state_t *state|NN I32 *flagp
Es |void |reginsert |NN struct RExC_state_t *state|U8 op|NN regnode *opnd
Es |void |regoptail |NN struct RExC_state_t *state|NN regnode *p|NN regnode *val
--- perl-5.8.8.orig/reentr.inc
+++ perl-5.8.8/reentr.inc
@@ -146,34 +146,34 @@
# undef getgrent
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR
# ifdef PERL_CORE
-# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
+# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
+# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
# else
# define getgrent() Perl_reentr_getgrent()
static struct group* Perl_reentr_getgrent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
+ return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
}
# endif
# endif
# endif
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR
# ifdef PERL_CORE
-# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
+# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
+# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
# else
# define getgrent() Perl_reentr_getgrent()
static struct group* Perl_reentr_getgrent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
+ return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
}
# endif
# endif
@@ -186,34 +186,34 @@
# endif
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI
# ifdef PERL_CORE
-# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
+# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
+# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
# else
# define getgrent() Perl_reentr_getgrent()
static struct group* Perl_reentr_getgrent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
+ return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
}
# endif
# endif
# endif
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH
# ifdef PERL_CORE
-# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
+# define getgrent() (((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
+# define getgrent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));})
# else
# define getgrent() Perl_reentr_getgrent()
static struct group* Perl_reentr_getgrent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
+ return ((PL_REENTRANT_RETINT = getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_fptr)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrent") : 0));
}
# endif
# endif
@@ -224,51 +224,51 @@
# undef getgrgid
# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR
# ifdef PERL_CORE
-# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
+# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
+# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
# else
# define getgrgid(a) Perl_reentr_getgrgid(a)
static struct group* Perl_reentr_getgrgid(gid_t a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
+ return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
}
# endif
# endif
# endif
# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR
# ifdef PERL_CORE
-# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
+# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
+# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
# else
# define getgrgid(a) Perl_reentr_getgrgid(a)
static struct group* Perl_reentr_getgrgid(gid_t a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
+ return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
}
# endif
# endif
# endif
# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI
# ifdef PERL_CORE
-# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
+# define getgrgid(a) (((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
+# define getgrgid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));})
# else
# define getgrgid(a) Perl_reentr_getgrgid(a)
static struct group* Perl_reentr_getgrgid(gid_t a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
+ return ((PL_REENTRANT_RETINT = getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrgid", a) : 0));
}
# endif
# endif
@@ -282,34 +282,34 @@
# undef getgrnam
# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
# ifdef PERL_CORE
-# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
+# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
+# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
# else
# define getgrnam(a) Perl_reentr_getgrnam(a)
static struct group* Perl_reentr_getgrnam(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
+ return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
}
# endif
# endif
# endif
# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
# ifdef PERL_CORE
-# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
+# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
+# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
# else
# define getgrnam(a) Perl_reentr_getgrnam(a)
static struct group* Perl_reentr_getgrnam(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
+ return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size, &PL_reentrant_buffer->_grent_ptr)) == 0 ? PL_reentrant_buffer->_grent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
}
# endif
# endif
@@ -319,17 +319,17 @@
# endif
# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
# ifdef PERL_CORE
-# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
+# define getgrnam(a) (((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
+# define getgrnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));})
# else
# define getgrnam(a) Perl_reentr_getgrnam(a)
static struct group* Perl_reentr_getgrnam(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
+ return ((PL_REENTRANT_RETINT = getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size)) == 0 ? &PL_reentrant_buffer->_grent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct group*)Perl_reentrant_retry("getgrnam", a) : 0));
}
# endif
# endif
@@ -343,17 +343,17 @@
# undef gethostbyaddr
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE
# ifdef PERL_CORE
-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
# else
# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
static struct hostent* Perl_reentr_gethostbyaddr(const char* a, size_t b, int c) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
}
# endif
# endif
@@ -378,68 +378,68 @@
# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD
# ifdef PERL_CORE
-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
# else
# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
static struct hostent* Perl_reentr_gethostbyaddr(const char* a, size_t b, int c) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
}
# endif
# endif
# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD
# ifdef PERL_CORE
-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
# else
# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
static struct hostent* Perl_reentr_gethostbyaddr(const char* a, int b, int c) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
}
# endif
# endif
# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII
# ifdef PERL_CORE
-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
# else
# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
static struct hostent* Perl_reentr_gethostbyaddr(const char* a, int b, int c) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c)) == 0 ? 1 : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
}
# endif
# endif
# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE
# ifdef PERL_CORE
-# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
+# define gethostbyaddr(a, b, c) (((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
+# define gethostbyaddr(a, b, c) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));})
# else
# define gethostbyaddr(a, b, c) Perl_reentr_gethostbyaddr(a, b, c)
static struct hostent* Perl_reentr_gethostbyaddr(const void* a, socklen_t b, int c) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
+ return ((PL_REENTRANT_RETINT = gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0));
}
# endif
# endif
@@ -450,17 +450,17 @@
# undef gethostbyname
# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
# ifdef PERL_CORE
-# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
+# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
+# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
# else
# define gethostbyname(a) Perl_reentr_gethostbyname(a)
static struct hostent* Perl_reentr_gethostbyname(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
+ return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
}
# endif
# endif
@@ -470,17 +470,17 @@
# endif
# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
# ifdef PERL_CORE
-# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
+# define gethostbyname(a) (((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
+# define gethostbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));})
# else
# define gethostbyname(a) Perl_reentr_gethostbyname(a)
static struct hostent* Perl_reentr_gethostbyname(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
+ return ((PL_REENTRANT_RETINT = gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostbyname", a) : 0));
}
# endif
# endif
@@ -491,34 +491,34 @@
# undef gethostent
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
# ifdef PERL_CORE
-# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
+# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
+# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
# else
# define gethostent() Perl_reentr_gethostent()
static struct hostent* Perl_reentr_gethostent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
+ return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_ptr, &PL_reentrant_buffer->_hostent_errno)) == 0 ? PL_reentrant_buffer->_hostent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
}
# endif
# endif
# endif
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE
# ifdef PERL_CORE
-# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
+# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
+# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
# else
# define gethostent() Perl_reentr_gethostent()
static struct hostent* Perl_reentr_gethostent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
+ return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
}
# endif
# endif
@@ -531,34 +531,34 @@
# endif
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI
# ifdef PERL_CORE
-# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
+# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
+# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
# else
# define gethostent() Perl_reentr_gethostent()
static struct hostent* Perl_reentr_gethostent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
+ return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
}
# endif
# endif
# endif
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD
# ifdef PERL_CORE
-# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
+# define gethostent() (((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
+# define gethostent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));})
# else
# define gethostent() Perl_reentr_gethostent()
static struct hostent* Perl_reentr_gethostent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
+ return ((PL_REENTRANT_RETINT = gethostent_r(&PL_reentrant_buffer->_hostent_struct, &PL_reentrant_buffer->_hostent_data)) == 0 ? &PL_reentrant_buffer->_hostent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct hostent*)Perl_reentrant_retry("gethostent") : 0));
}
# endif
# endif
@@ -569,34 +569,34 @@
# undef getlogin
# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW
# ifdef PERL_CORE
-# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
+# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
+# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
# else
# define getlogin() Perl_reentr_getlogin()
static char* Perl_reentr_getlogin() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));
+ return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0));
}
# endif
# endif
# endif
# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI
# ifdef PERL_CORE
-# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
+# define getlogin() (((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
+# define getlogin() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0));})
# else
# define getlogin() Perl_reentr_getlogin()
static char* Perl_reentr_getlogin() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (char*)Perl_reentrant_retry("getlogin") : 0));
+ return ((PL_REENTRANT_RETINT = getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)) == 0 ? PL_reentrant_buffer->_getlogin_buffer : ((PL_REENTRANT_RETINT == ERANGE) ? (char*)Perl_reentrant_retry("getlogin") : 0));
}
# endif
# endif
@@ -613,34 +613,34 @@
# undef getnetbyaddr
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE
# ifdef PERL_CORE
-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
# else
# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
static struct netent* Perl_reentr_getnetbyaddr(unsigned long a, int b) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
}
# endif
# endif
# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI
# ifdef PERL_CORE
-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
# else
# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
static struct netent* Perl_reentr_getnetbyaddr(long a, int b) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
}
# endif
# endif
@@ -653,68 +653,68 @@
# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD
# ifdef PERL_CORE
-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
# else
# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
static struct netent* Perl_reentr_getnetbyaddr(in_addr_t a, int b) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
}
# endif
# endif
# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD
# ifdef PERL_CORE
-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
# else
# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
static struct netent* Perl_reentr_getnetbyaddr(long a, int b) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
}
# endif
# endif
# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD
# ifdef PERL_CORE
-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
# else
# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
static struct netent* Perl_reentr_getnetbyaddr(int a, int b) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
}
# endif
# endif
# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE
# ifdef PERL_CORE
-# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
+# define getnetbyaddr(a, b) (((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
+# define getnetbyaddr(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));})
# else
# define getnetbyaddr(a, b) Perl_reentr_getnetbyaddr(a, b)
static struct netent* Perl_reentr_getnetbyaddr(uint32_t a, int b) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyaddr", a, b) : 0));
}
# endif
# endif
@@ -725,34 +725,34 @@
# undef getnetbyname
# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
# ifdef PERL_CORE
-# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
+# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
+# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
# else
# define getnetbyname(a) Perl_reentr_getnetbyname(a)
static struct netent* Perl_reentr_getnetbyname(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
}
# endif
# endif
# endif
# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI
# ifdef PERL_CORE
-# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
+# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
+# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
# else
# define getnetbyname(a) Perl_reentr_getnetbyname(a)
static struct netent* Perl_reentr_getnetbyname(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
}
# endif
# endif
@@ -762,17 +762,17 @@
# endif
# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
# ifdef PERL_CORE
-# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
+# define getnetbyname(a) (((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
+# define getnetbyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));})
# else
# define getnetbyname(a) Perl_reentr_getnetbyname(a)
static struct netent* Perl_reentr_getnetbyname(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
+ return ((PL_REENTRANT_RETINT = getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetbyname", a) : 0));
}
# endif
# endif
@@ -783,34 +783,34 @@
# undef getnetent
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
# ifdef PERL_CORE
-# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
+# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
+# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
# else
# define getnetent() Perl_reentr_getnetent()
static struct netent* Perl_reentr_getnetent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
+ return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_ptr, &PL_reentrant_buffer->_netent_errno)) == 0 ? PL_reentrant_buffer->_netent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
}
# endif
# endif
# endif
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE
# ifdef PERL_CORE
-# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
+# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
+# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
# else
# define getnetent() Perl_reentr_getnetent()
static struct netent* Perl_reentr_getnetent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
+ return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
}
# endif
# endif
@@ -823,34 +823,34 @@
# endif
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI
# ifdef PERL_CORE
-# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
+# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
+# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
# else
# define getnetent() Perl_reentr_getnetent()
static struct netent* Perl_reentr_getnetent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
+ return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
}
# endif
# endif
# endif
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD
# ifdef PERL_CORE
-# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
+# define getnetent() (((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
+# define getnetent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));})
# else
# define getnetent() Perl_reentr_getnetent()
static struct netent* Perl_reentr_getnetent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
+ return ((PL_REENTRANT_RETINT = getnetent_r(&PL_reentrant_buffer->_netent_struct, &PL_reentrant_buffer->_netent_data)) == 0 ? &PL_reentrant_buffer->_netent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct netent*)Perl_reentrant_retry("getnetent") : 0));
}
# endif
# endif
@@ -861,17 +861,17 @@
# undef getprotobyname
# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR
# ifdef PERL_CORE
-# define getprotobyname(a) (((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
+# define getprotobyname(a) (((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getprotobyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
+# define getprotobyname(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
# else
# define getprotobyname(a) Perl_reentr_getprotobyname(a)
static struct protoent* Perl_reentr_getprotobyname(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
+ return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
}
# endif
# endif
@@ -881,17 +881,17 @@
# endif
# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
# ifdef PERL_CORE
-# define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
+# define getprotobyname(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getprotobyname(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
+# define getprotobyname(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));})
# else
# define getprotobyname(a) Perl_reentr_getprotobyname(a)
static struct protoent* Perl_reentr_getprotobyname(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
- return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
+ return ((PL_REENTRANT_RETINT = getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobyname", a) : 0));
}
# endif
# endif
@@ -902,17 +902,17 @@
# undef getprotobynumber
# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR
# ifdef PERL_CORE
-# define getprotobynumber(a) (((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
+# define getprotobynumber(a) (((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
+# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
# else
# define getprotobynumber(a) Perl_reentr_getprotobynumber(a)
static struct protoent* Perl_reentr_getprotobynumber(int a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
+ return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
}
# endif
# endif
@@ -922,17 +922,17 @@
# endif
# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD
# ifdef PERL_CORE
-# define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
+# define getprotobynumber(a) (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
+# define getprotobynumber(a) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));})
# else
# define getprotobynumber(a) Perl_reentr_getprotobynumber(a)
static struct protoent* Perl_reentr_getprotobynumber(int a) {
dTHX;
int PL_REENTRANT_RETINT;
REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
- return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
+ return ((PL_REENTRANT_RETINT = getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotobynumber", a) : 0));
}
# endif
# endif
@@ -943,34 +943,34 @@
# undef getprotoent
# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR
# ifdef PERL_CORE
-# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
+# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
+# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
# else
# define getprotoent() Perl_reentr_getprotoent()
static struct protoent* Perl_reentr_getprotoent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
+ return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size, &PL_reentrant_buffer->_protoent_ptr)) == 0 ? PL_reentrant_buffer->_protoent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
}
# endif
# endif
# endif
# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI
# ifdef PERL_CORE
-# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
+# define getprotoent() (((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
+# define getprotoent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
# else
# define getprotoent() Perl_reentr_getprotoent()
static struct protoent* Perl_reentr_getprotoent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
+ return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
}
# endif
# endif
@@ -980,17 +980,17 @@
# endif
# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD
# ifdef PERL_CORE
-# define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
+# define getprotoent() (REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)), ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getprotoent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
+# define getprotoent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data)); ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));})
# else
# define getprotoent() Perl_reentr_getprotoent()
static struct protoent* Perl_reentr_getprotoent() {
dTHX;
int PL_REENTRANT_RETINT;
REENTR_MEMZERO(&PL_reentrant_buffer->_protoent_data, sizeof(PL_reentrant_buffer->_protoent_data));
- return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
+ return ((PL_REENTRANT_RETINT = getprotoent_r(&PL_reentrant_buffer->_protoent_struct, &PL_reentrant_buffer->_protoent_data)) == 0 ? &PL_reentrant_buffer->_protoent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct protoent*)Perl_reentrant_retry("getprotoent") : 0));
}
# endif
# endif
@@ -1001,34 +1001,34 @@
# undef getpwent
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR
# ifdef PERL_CORE
-# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
+# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
+# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
# else
# define getpwent() Perl_reentr_getpwent()
static struct passwd* Perl_reentr_getpwent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
+ return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
}
# endif
# endif
# endif
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR
# ifdef PERL_CORE
-# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
+# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
+# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
# else
# define getpwent() Perl_reentr_getpwent()
static struct passwd* Perl_reentr_getpwent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
+ return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
}
# endif
# endif
@@ -1041,34 +1041,34 @@
# endif
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI
# ifdef PERL_CORE
-# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
+# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
+# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
# else
# define getpwent() Perl_reentr_getpwent()
static struct passwd* Perl_reentr_getpwent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
+ return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
}
# endif
# endif
# endif
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH
# ifdef PERL_CORE
-# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
+# define getpwent() (((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
+# define getpwent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));})
# else
# define getpwent() Perl_reentr_getpwent()
static struct passwd* Perl_reentr_getpwent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
+ return ((PL_REENTRANT_RETINT = getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_fptr)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwent") : 0));
}
# endif
# endif
@@ -1079,34 +1079,34 @@
# undef getpwnam
# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
# ifdef PERL_CORE
-# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
+# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
+# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
# else
# define getpwnam(a) Perl_reentr_getpwnam(a)
static struct passwd* Perl_reentr_getpwnam(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
+ return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
}
# endif
# endif
# endif
# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
# ifdef PERL_CORE
-# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
+# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
+# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
# else
# define getpwnam(a) Perl_reentr_getpwnam(a)
static struct passwd* Perl_reentr_getpwnam(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
+ return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
}
# endif
# endif
@@ -1116,17 +1116,17 @@
# endif
# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
# ifdef PERL_CORE
-# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
+# define getpwnam(a) (((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
+# define getpwnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));})
# else
# define getpwnam(a) Perl_reentr_getpwnam(a)
static struct passwd* Perl_reentr_getpwnam(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
+ return ((PL_REENTRANT_RETINT = getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwnam", a) : 0));
}
# endif
# endif
@@ -1137,51 +1137,51 @@
# undef getpwuid
# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR
# ifdef PERL_CORE
-# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
+# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
+# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
# else
# define getpwuid(a) Perl_reentr_getpwuid(a)
static struct passwd* Perl_reentr_getpwuid(uid_t a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
+ return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
}
# endif
# endif
# endif
# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR
# ifdef PERL_CORE
-# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
+# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
+# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
# else
# define getpwuid(a) Perl_reentr_getpwuid(a)
static struct passwd* Perl_reentr_getpwuid(uid_t a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
+ return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size, &PL_reentrant_buffer->_pwent_ptr)) == 0 ? PL_reentrant_buffer->_pwent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
}
# endif
# endif
# endif
# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI
# ifdef PERL_CORE
-# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
+# define getpwuid(a) (((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
+# define getpwuid(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));})
# else
# define getpwuid(a) Perl_reentr_getpwuid(a)
static struct passwd* Perl_reentr_getpwuid(uid_t a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
+ return ((PL_REENTRANT_RETINT = getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size)) == 0 ? &PL_reentrant_buffer->_pwent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct passwd*)Perl_reentrant_retry("getpwuid", a) : 0));
}
# endif
# endif
@@ -1195,17 +1195,17 @@
# undef getservbyname
# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR
# ifdef PERL_CORE
-# define getservbyname(a, b) (((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
+# define getservbyname(a, b) (((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
+# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
# else
# define getservbyname(a, b) Perl_reentr_getservbyname(a, b)
static struct servent* Perl_reentr_getservbyname(const char* a, const char* b) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
}
# endif
# endif
@@ -1215,17 +1215,17 @@
# endif
# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
# ifdef PERL_CORE
-# define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
+# define getservbyname(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
+# define getservbyname(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));})
# else
# define getservbyname(a, b) Perl_reentr_getservbyname(a, b)
static struct servent* Perl_reentr_getservbyname(const char* a, const char* b) {
dTHX;
int PL_REENTRANT_RETINT;
REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
- return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyname", a, b) : 0));
}
# endif
# endif
@@ -1236,17 +1236,17 @@
# undef getservbyport
# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR
# ifdef PERL_CORE
-# define getservbyport(a, b) (((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
+# define getservbyport(a, b) (((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
+# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
# else
# define getservbyport(a, b) Perl_reentr_getservbyport(a, b)
static struct servent* Perl_reentr_getservbyport(int a, const char* b) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
}
# endif
# endif
@@ -1256,17 +1256,17 @@
# endif
# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD
# ifdef PERL_CORE
-# define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
+# define getservbyport(a, b) (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
+# define getservbyport(a, b) ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));})
# else
# define getservbyport(a, b) Perl_reentr_getservbyport(a, b)
static struct servent* Perl_reentr_getservbyport(int a, const char* b) {
dTHX;
int PL_REENTRANT_RETINT;
REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
- return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
+ return ((PL_REENTRANT_RETINT = getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservbyport", a, b) : 0));
}
# endif
# endif
@@ -1277,34 +1277,34 @@
# undef getservent
# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR
# ifdef PERL_CORE
-# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
+# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
+# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
# else
# define getservent() Perl_reentr_getservent()
static struct servent* Perl_reentr_getservent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
+ return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size, &PL_reentrant_buffer->_servent_ptr)) == 0 ? PL_reentrant_buffer->_servent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
}
# endif
# endif
# endif
# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI
# ifdef PERL_CORE
-# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
+# define getservent() (((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
+# define getservent() ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
# else
# define getservent() Perl_reentr_getservent()
static struct servent* Perl_reentr_getservent() {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
+ return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
}
# endif
# endif
@@ -1314,17 +1314,17 @@
# endif
# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD
# ifdef PERL_CORE
-# define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
+# define getservent() (REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)), ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getservent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
+# define getservent() ({int PL_REENTRANT_RETINT; REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data)); ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));})
# else
# define getservent() Perl_reentr_getservent()
static struct servent* Perl_reentr_getservent() {
dTHX;
int PL_REENTRANT_RETINT;
REENTR_MEMZERO(&PL_reentrant_buffer->_servent_data, sizeof(PL_reentrant_buffer->_servent_data));
- return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
+ return ((PL_REENTRANT_RETINT = getservent_r(&PL_reentrant_buffer->_servent_struct, &PL_reentrant_buffer->_servent_data)) == 0 ? &PL_reentrant_buffer->_servent_struct : ((PL_REENTRANT_RETINT == ERANGE) ? (struct servent*)Perl_reentrant_retry("getservent") : 0));
}
# endif
# endif
@@ -1335,17 +1335,17 @@
# undef getspnam
# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
# ifdef PERL_CORE
-# define getspnam(a) (((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0)))
+# define getspnam(a) (((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0)))
# else
# if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(PERL_GCC_PEDANTIC)
-# define getspnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));})
+# define getspnam(a) ({int PL_REENTRANT_RETINT; ; ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));})
# else
# define getspnam(a) Perl_reentr_getspnam(a)
static struct spwd* Perl_reentr_getspnam(const char* a) {
dTHX;
int PL_REENTRANT_RETINT;
;
- return ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : (((PL_REENTRANT_RETINT == ERANGE) || (errno == ERANGE)) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));
+ return ((PL_REENTRANT_RETINT = getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size, &PL_reentrant_buffer->_spent_ptr)) == 0 ? PL_reentrant_buffer->_spent_ptr : ((PL_REENTRANT_RETINT == ERANGE) ? (struct spwd*)Perl_reentrant_retry("getspnam", a) : 0));
}
# endif
# endif
--- perl-5.8.8.orig/lib/perl5db.pl
+++ perl-5.8.8/lib/perl5db.pl
@@ -6354,9 +6354,13 @@
$OUT->write( join( '', @_ ) );
# Receive anything there is to receive.
- my $stuff;
- $IN->recv( $stuff, 2048 ); # XXX "what's wrong with sysread?"
- # XXX Don't know. You tell me.
+ $stuff;
+ my $stuff = '';
+ my $buf;
+ do {
+ $IN->recv( $buf = '', 2048 ); # XXX "what's wrong with sysread?"
+ # XXX Don't know. You tell me.
+ } while length $buf and ($stuff .= $buf) !~ /\n/;
# What we got.
$stuff;
--- perl-5.8.8.orig/lib/CGI.pm
+++ perl-5.8.8/lib/CGI.pm
@@ -3411,7 +3411,7 @@
'upload' =><<'END_OF_FUNC',
sub upload {
my($self,$param_name) = self_or_default(@_);
- my @param = grep(ref && fileno($_), $self->param($param_name));
+ my @param = grep(ref && defined(fileno($_)), $self->param($param_name));
return unless @param;
return wantarray ? @param : $param[0];
}
--- perl-5.8.8.orig/lib/Pod/t/basic.man
+++ perl-5.8.8/lib/Pod/t/basic.man
@@ -290,18 +290,18 @@
.PP
.Vb 8
\& use Term::ANSIColor;
-\& print color 'bold blue';
+\& print color \(aqbold blue\(aq;
\& print "This text is bold blue.\en";
-\& print color 'reset';
+\& print color \(aqreset\(aq;
\& print "This text is normal.\en";
-\& print colored ("Yellow on magenta.\en", 'yellow on_magenta');
+\& print colored ("Yellow on magenta.\en", \(aqyellow on_magenta\(aq);
\& print "This text is normal.\en";
-\& print colored ['yellow on_magenta'], "Yellow on magenta.\en";
+\& print colored [\(aqyellow on_magenta\(aq], "Yellow on magenta.\en";
.Ve
.PP
.Vb 2
\& use Term::ANSIColor qw(uncolor);
-\& print uncolor '01;31', "\en";
+\& print uncolor \(aq01;31\(aq, "\en";
.Ve
.PP
But this isn't verbatim (make sure it wraps properly), and the next
@@ -332,7 +332,7 @@
.PP
.Vb 2
\& This is. And this: is an internal tab. It should be:
-\& |--| <= lined up with that.
+\& |\-\-| <= lined up with that.
.Ve
.PP
(Tricky, but tabs should be expanded before the translator starts in on
--- perl-5.8.8.orig/lib/Pod/t/htmlview.pod
+++ perl-5.8.8/lib/Pod/t/htmlview.pod
@@ -110,7 +110,7 @@
=head1 TESTING FOR AND BEGIN
-=for html
+=for html
blah blah
--- perl-5.8.8.orig/lib/Pod/t/htmlview.t
+++ perl-5.8.8/lib/Pod/t/htmlview.t
@@ -82,17 +82,15 @@
Constructor method. Accepts the following config options:
-- foo
+
- foo
-
The foo item.
-
-- bar
+
- bar
-
The bar item.
-
This is a list within a list
-
@@ -102,48 +100,54 @@
The waz item.
-- baz
+
+
- baz
-
The baz item.
-
Title on the same line as the =item + * bullets
Title on the same line as the =item + numerical bullets
- Cat
+
- Sat
+
- Mat
+
No bullets, no title
--
+
+
-
Cat
-
--
+
+
-
Sat
-
--
+
+
-
Mat
-
@@ -153,7 +157,7 @@
-
+
blah blah
intermediate text
--- perl-5.8.8.orig/lib/Pod/Perldoc.pm
+++ perl-5.8.8/lib/Pod/Perldoc.pm
@@ -1533,6 +1533,7 @@
$self->{'target'} = (splitdir $s)[-1]; # XXX: why not use File::Basename?
for ($i=0; $i<@dirs; $i++) {
$dir = $dirs[$i];
+ next unless -d $dir; # some dirs in @INC are optional
($dir = VMS::Filespec::unixpath($dir)) =~ s!/\z!! if IS_VMS;
if ( (! $self->opt_m && ( $ret = $self->check_file($dir,"$s.pod")))
or ( $ret = $self->check_file($dir,"$s.pm"))
--- perl-5.8.8.orig/lib/Pod/Man.pm
+++ perl-5.8.8/lib/Pod/Man.pm
@@ -74,11 +74,11 @@
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. | will give a
-.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
-.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
-.\" expand to `' in nroff, nothing in troff, for use with C<>.
-.tr \(*W-|\(bv\*(Tr
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
@@ -517,6 +517,8 @@
my $lines = tr/\n/\n/;
1 while s/^(.*?)(\t+)/$1 . ' ' x (length ($2) * 8 - length ($1) % 8)/me;
s/\\/\\e/g;
+ s/-/\\-/g;
+ s/'/\\(aq/g;
s/^(\s*\S)/'\&' . $1/gme;
$self->makespace;
$self->output (".Vb $lines\n$_.Ve\n");
@@ -1070,6 +1072,7 @@
for (@output) {
my ($type, $entry) = @$_;
$entry =~ s/\"/\"\"/g;
+ $entry =~ s/\\/\\e/g;
$self->output (".IX $type " . '"' . $entry . '"' . "\n");
}
}
--- perl-5.8.8.orig/lib/Pod/Html.pm
+++ perl-5.8.8/lib/Pod/Html.pm
@@ -232,8 +232,8 @@
my $Doindex;
my $Backlink;
-my($Listlevel, @Listend);
-my $After_Lpar;
+my($Listlevel, @Listtype);
+my $ListNewTerm;
use vars qw($Ignore); # need to localize it later.
my(%Items_Named, @Items_Seen);
@@ -273,7 +273,7 @@
$Htmldir = ""; # The directory to which the html pages
# will (eventually) be written.
$Htmlfile = ""; # write to stdout by default
- $Htmlfileurl = "" ; # The url that other files would use to
+ $Htmlfileurl = ""; # The url that other files would use to
# refer to this file. This is only used
# to make relative urls that point to
# other files.
@@ -289,8 +289,9 @@
$Doindex = 1; # non-zero if we should generate an index
$Backlink = ''; # text for "back to top" links
$Listlevel = 0; # current list depth
- @Listend = (); # the text to use to end the list.
- $After_Lpar = 0; # set to true after a par in an =item
+ @Listtype = (); # list types for open lists
+ $ListNewTerm = 0; # indicates new term in definition list; used
+ # to correctly open/close tags
$Ignore = 1; # whether or not to format text. we don't
# format text until we hit our first pod
# directive.
@@ -495,7 +496,6 @@
# now convert this file
my $after_item; # set to true after an =item
- my $need_dd = 0;
warn "Converting input file $Podfile\n" if $Verbose;
foreach my $i (0..$#poddata){
$PTQuote = 0; # status of quote conversion
@@ -505,7 +505,6 @@
if (/^(=.*)/s) { # is it a pod directive?
$Ignore = 0;
$after_item = 0;
- $need_dd = 0;
$_ = $1;
if (/^=begin\s+(\S+)\s*(.*)/si) {# =begin
process_begin($1, $2);
@@ -521,12 +520,12 @@
if (/^=(head[1-6])\s+(.*\S)/s) { # =head[1-6] heading
process_head( $1, $2, $Doindex && $index );
} elsif (/^=item\s*(.*\S)?/sm) { # =item text
- $need_dd = process_item( $1 );
+ process_item( $1 );
$after_item = 1;
} elsif (/^=over\s*(.*)/) { # =over N
process_over();
} elsif (/^=back/) { # =back
- process_back($need_dd);
+ process_back();
} elsif (/^=for\s+(\S+)\s*(.*)/si) {# =for
process_for($1,$2);
} else {
@@ -541,8 +540,14 @@
next if $Ignore;
next if @Begin_Stack && $Begin_Stack[-1] ne 'html';
print HTML and next if @Begin_Stack && $Begin_Stack[-1] eq 'html';
- print HTML "\n" if $need_dd;
my $text = $_;
+
+ # Open tag for definition list as we have something to put in it
+ if( $ListNewTerm ){
+ print HTML "\n";
+ $ListNewTerm = 0;
+ }
+
if( $text =~ /\A\s+/ ){
process_pre( \$text );
print HTML "\n$text
\n";
@@ -572,12 +577,8 @@
}
## end of experimental
- if( $after_item ){
- $After_Lpar = 1;
- }
print HTML "$text
\n";
}
- print HTML "\n" if $need_dd;
$after_item = 0;
}
}
@@ -1052,12 +1053,12 @@
# figure out what kind of item it is.
# Build string for referencing this item.
- if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bullet
+ if ( $txt =~ /\A=item\s+\*\s*(.*)\Z/s ) { # bulleted list
next unless $1;
$item = $1;
} elsif( $txt =~ /\A=item\s+(?>\d+\.?)\s*(.*)\Z/s ) { # numbered list
$item = $1;
- } elsif( $txt =~ /\A=item\s+(.*)\Z/s ) { # plain item
+ } elsif( $txt =~ /\A=item\s+(.*)\Z/s ) { # definition list
$item = $1;
} else {
next;
@@ -1077,12 +1078,7 @@
$tag =~ /head([1-6])/;
my $level = $1;
- if( $Listlevel ){
- warn "$0: $Podfile: unterminated list at =head in paragraph $Paragraph. ignoring.\n" unless $Quiet;
- while( $Listlevel ){
- process_back();
- }
- }
+ finish_list();
print HTML "\n";
if( $level == 1 && ! $Top ){
@@ -1120,19 +1116,32 @@
$name = anchorify($name);
print HTML qq{}, process_text( \$otext ), '';
}
- print HTML "\n";
+ print HTML "";
undef( $EmittedItem );
}
-sub emit_li {
+sub new_listitem {
my( $tag ) = @_;
+ # Open tag for definition list as we have something to put in it
+ if( ($tag ne 'dl') && ($ListNewTerm) ){
+ print HTML "
\n";
+ $ListNewTerm = 0;
+ }
+
if( $Items_Seen[$Listlevel]++ == 0 ){
- push( @Listend, "$tag>" );
+ # start of new list
+ push( @Listtype, "$tag" );
print HTML "<$tag>\n";
+ } else {
+ # if this is not the first item, close the previous one
+ if ( $tag eq 'dl' ){
+ print HTML "\n" unless $ListNewTerm;
+ } else {
+ print HTML "\n";
+ }
}
- my $emitted = $tag eq 'dl' ? 'dt' : 'li';
- print HTML "<$emitted>";
- return $emitted;
+ my $opentag = $tag eq 'dl' ? 'dt' : 'li';
+ print HTML "<$opentag>";
}
#
@@ -1140,7 +1149,6 @@
#
sub process_item {
my( $otext ) = @_;
- my $need_dd = 0; # set to 1 if we need a after an item
# lots of documents start a list without doing an =over. this is
# bad! but, the proper thing to do seems to be to just assume
@@ -1150,43 +1158,43 @@
process_over();
}
- # formatting: insert a paragraph if preceding item has >1 paragraph
- if( $After_Lpar ){
- print HTML $need_dd ? "\n" : "\n" if $After_Lpar;
- $After_Lpar = 0;
- }
-
# remove formatting instructions from the text
my $text = depod( $otext );
- my $emitted; # the tag actually emitted, used for closing
-
# all the list variants:
if( $text =~ /\A\*/ ){ # bullet
- $emitted = emit_li( 'ul' );
+ new_listitem( 'ul' );
if ($text =~ /\A\*\s+(.+)\Z/s ) { # with additional text
my $tag = $1;
$otext =~ s/\A\*\s+//;
emit_item_tag( $otext, $tag, 1 );
+ print HTML "\n";
}
} elsif( $text =~ /\A\d+/ ){ # numbered list
- $emitted = emit_li( 'ol' );
+ new_listitem( 'ol' );
if ($text =~ /\A(?>\d+\.?)\s*(.+)\Z/s ) { # with additional text
my $tag = $1;
$otext =~ s/\A\d+\.?\s*//;
emit_item_tag( $otext, $tag, 1 );
+ print HTML "\n";
}
} else { # definition list
- $emitted = emit_li( 'dl' );
- if ($text =~ /\A(.+)\Z/s ){ # should have text
+ # new_listitem takes care of opening the tag
+ new_listitem( 'dl' );
+ if( $text =~ /\A(.+)\Z/s ){ # should have text
emit_item_tag( $otext, $text, 1 );
+ } else {
+ warn "$0: $Podfile: no term text provided for definition list in paragraph $Paragraph. ignoring.\n" unless $Quiet;
}
- $need_dd = 1;
+ # write the definition term and close tag
+ print HTML "\n";
+ # trigger opening a tag for the actual definition; will not
+ # happen if next paragraph is also a definition term (=item)
+ $ListNewTerm = 1;
}
print HTML "\n";
- return $need_dd;
}
#
@@ -1196,30 +1204,31 @@
# start a new list
$Listlevel++;
push( @Items_Seen, 0 );
- $After_Lpar = 0;
}
#
# process_back - process a pod back tag and convert it to HTML format.
#
sub process_back {
- my $need_dd = shift;
if( $Listlevel == 0 ){
warn "$0: $Podfile: unexpected =back directive in paragraph $Paragraph. ignoring.\n" unless $Quiet;
return;
}
- # close off the list. note, I check to see if $Listend[$Listlevel] is
+ # close off the list. note, I check to see if $Listtype[$Listlevel] is
# defined because an =item directive may have never appeared and thus
- # $Listend[$Listlevel] may have never been initialized.
+ # $Listtype[$Listlevel] may have never been initialized.
$Listlevel--;
- if( defined $Listend[$Listlevel] ){
- print HTML $need_dd ? "\n" : "\n" if $After_Lpar;
- print HTML $Listend[$Listlevel];
- print HTML "\n";
- pop( @Listend );
+ if( defined $Listtype[$Listlevel] ){
+ if ( $Listtype[$Listlevel] eq 'dl' ){
+ print HTML "\n" unless $ListNewTerm;
+ } else {
+ print HTML "\n";
+ }
+ print HTML "$Listtype[$Listlevel]>\n";
+ pop( @Listtype );
+ $ListNewTerm = 0;
}
- $After_Lpar = 0;
# clean up item count
pop( @Items_Seen );
@@ -1964,9 +1973,11 @@
# after the entire pod file has been read and converted.
#
sub finish_list {
- while ($Listlevel > 0) {
- print HTML "\n";
- $Listlevel--;
+ if( $Listlevel ){
+ warn "$0: $Podfile: unterminated list(s) at =head in paragraph $Paragraph. ignoring.\n" unless $Quiet;
+ while( $Listlevel ){
+ process_back();
+ }
}
}
--- perl-5.8.8.orig/lib/File/Path.pm
+++ perl-5.8.8/lib/File/Path.pm
@@ -72,33 +72,17 @@
=item *
-a boolean value, which if TRUE will cause C to
-skip any files to which you do not have delete access
-(if running under VMS) or write access (if running
-under another OS). This will change in the future when
-a criterion for 'delete permission' under OSs other
-than VMS is settled. (defaults to FALSE)
+a boolean value, which if FALSE (the default for non-root users) will
+cause C to adjust the mode of directories (if required) prior
+to attempting to remove the contents. Note that on interruption or
+failure of C, directories may be left with more permissive
+modes for the owner.
=back
It returns the number of files successfully deleted. Symlinks are
simply deleted and not followed.
-B There are race conditions internal to the implementation of
-C making it unsafe to use on directory trees which may be
-altered or moved while C is running, and in particular on any
-directory trees with any path components or subdirectories potentially
-writable by untrusted users.
-
-Additionally, if the third parameter is not TRUE and C is
-interrupted, it may leave files and directories with permissions altered
-to allow deletion (and older versions of this module would even set
-files and directories to world-read/writable!)
-
-Note also that the occurrence of errors in C can be determined I
-by trapping diagnostic messages using C<$SIG{__WARN__}>; it is not apparent
-from the return value.
-
=head1 DIAGNOSTICS
=over 4
@@ -172,111 +156,137 @@
@created;
}
-sub rmtree {
- my($roots, $verbose, $safe) = @_;
- my(@files);
- my($count) = 0;
- $verbose ||= 0;
- $safe ||= 0;
-
- if ( defined($roots) && length($roots) ) {
- $roots = [$roots] unless ref $roots;
- }
- else {
- carp "No root path(s) specified\n";
- return 0;
- }
-
- my($root);
- foreach $root (@{$roots}) {
- if ($Is_MacOS) {
- $root = ":$root" if $root !~ /:/;
- $root =~ s#([^:])\z#$1:#;
- } else {
- $root =~ s#/\z##;
+sub _rmtree;
+sub _rmtree
+{
+ my ($path, $prefix, $up, $up_dev, $up_ino, $verbose, $safe) = @_;
+ my $up_name = $up eq '..' ? 'parent' : 'initial';
+
+ my ($dev, $ino, $perm) = lstat $path or return 0;
+ unless (-d _)
+ {
+ print "unlink $prefix$path\n" if $verbose;
+ unless (unlink $path)
+ {
+ carp "Can't remove file $prefix$path ($!)";
+ return 0;
}
- (undef, undef, my $rp) = lstat $root or next;
- $rp &= 07777; # don't forget setuid, setgid, sticky bits
- if ( -d _ ) {
- # notabene: 0700 is for making readable in the first place,
- # it's also intended to change it to writable in case we have
- # to recurse in which case we are better than rm -rf for
- # subtrees with strange permissions
- chmod($rp | 0700, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
- or carp "Can't make directory $root read+writeable: $!"
- unless $safe;
-
- if (opendir my $d, $root) {
- no strict 'refs';
- if (!defined ${"\cTAINT"} or ${"\cTAINT"}) {
- # Blindly untaint dir names
- @files = map { /^(.*)$/s ; $1 } readdir $d;
- } else {
- @files = readdir $d;
- }
- closedir $d;
- }
- else {
- carp "Can't read $root: $!";
- @files = ();
- }
- # Deleting large numbers of files from VMS Files-11 filesystems
- # is faster if done in reverse ASCIIbetical order
- @files = reverse @files if $Is_VMS;
- ($root = VMS::Filespec::unixify($root)) =~ s#\.dir\z## if $Is_VMS;
- if ($Is_MacOS) {
- @files = map("$root$_", @files);
- } else {
- @files = map("$root/$_", grep $_!~/^\.{1,2}\z/s,@files);
- }
- $count += rmtree(\@files,$verbose,$safe);
- if ($safe &&
- ($Is_VMS ? !&VMS::Filespec::candelete($root) : !-w $root)) {
- print "skipped $root\n" if $verbose;
- next;
- }
- chmod $rp | 0700, $root
- or carp "Can't make directory $root writeable: $!"
- if $force_writeable;
- print "rmdir $root\n" if $verbose;
- if (rmdir $root) {
- ++$count;
- }
- else {
- carp "Can't remove directory $root: $!";
- chmod($rp, ($Is_VMS ? VMS::Filespec::fileify($root) : $root))
- or carp("and can't restore permissions to "
- . sprintf("0%o",$rp) . "\n");
- }
- }
- else {
- if ($safe &&
- ($Is_VMS ? !&VMS::Filespec::candelete($root)
- : !(-l $root || -w $root)))
- {
- print "skipped $root\n" if $verbose;
- next;
- }
- chmod $rp | 0600, $root
- or carp "Can't make file $root writeable: $!"
- if $force_writeable;
- print "unlink $root\n" if $verbose;
- # delete all versions under VMS
- for (;;) {
- unless (unlink $root) {
- carp "Can't unlink file $root: $!";
- if ($force_writeable) {
- chmod $rp, $root
- or carp("and can't restore permissions to "
- . sprintf("0%o",$rp) . "\n");
- }
- last;
- }
- ++$count;
- last unless $Is_VMS && lstat $root;
- }
+ return 1;
+ }
+
+ if (!chdir($path)) {
+ # see if we can escalate privileges to get in
+ # (e.g. funny protection mask such as -w- instead of rwx)
+ $perm &= 07777;
+ my $nperm = $perm | 0700;
+ if (!($safe or $nperm == $perm or chmod($nperm, $path))) {
+ carp "cannot make $prefix$path read-write-exec";
+ return 0;
+ }
+ elsif (!chdir($path)) {
+ carp "Can't chdir to $prefix$path ($!)";
+ return 0;
+ }
+ }
+
+ # avoid a race condition where a directory may be replaced by a
+ # symlink between the lstat and the chdir
+ my ($new_dev, $new_ino);
+ ($new_dev, $new_ino, $perm) = stat '.';
+ unless ("$new_dev:$new_ino" eq "$dev:$ino")
+ {
+ croak "Directory $prefix$path changed before chdir, aborting";
+ }
+
+ $perm &= 07777;
+ my $nperm = $perm | 0700;
+ unless ($safe or $nperm == $perm or chmod $nperm, '.')
+ {
+ carp "Can't make directory $prefix$path read+writeable ($!)";
+ $nperm = $perm;
+ }
+
+ my $count = 0;
+ if (opendir my $dir, '.')
+ {
+ my $entry;
+ while (defined ($entry = readdir $dir))
+ {
+ next if $entry =~ /^\.\.?$/;
+ $entry =~ /^(.*)$/s; $entry = $1; # untaint
+ $count += _rmtree $entry, "$prefix$path/", '..', $dev, $ino,
+ $verbose, $safe;
}
+
+ closedir $dir;
+ }
+
+ # restore directory permissions if required (in case the rmdir
+ # below fails) now, while we're still in the directory and may do
+ # so without a race via '.'
+ unless ($nperm == $perm or chmod $perm, '.')
+ {
+ carp "Can't restore permissions on directory $prefix$path ($!)";
+ }
+
+ # don't leave the caller in an unexpected directory
+ unless (chdir $up)
+ {
+ croak "Can't return to $up_name directory from $prefix$path ($!)";
+ }
+
+ # ensure that a chdir .. didn't take us somewhere other than
+ # where we expected (see CVE-2002-0435)
+ unless (($new_dev, $new_ino) = stat '.'
+ and "$new_dev:$new_ino" eq "$up_dev:$up_ino")
+ {
+ croak "\u$up_name directory changed since entering $prefix$path";
+ }
+
+ print "rmdir $prefix$path\n" if $verbose;
+ if (rmdir $path)
+ {
+ $count++;
+ }
+ else
+ {
+ carp "Can't remove directory $prefix$path ($!)";
+ }
+
+ return $count;
+}
+
+sub rmtree
+{
+ my ($p, $verbose, $safe) = @_;
+ $p = [] unless defined $p and length $p;
+ $p = [ $p ] unless ref $p;
+ my @paths = grep defined && length, @$p;
+
+ # default to "unsafe" for non-root (will chmod dirs)
+ $safe = $> ? 0 : 1 unless defined $safe;
+
+ unless (@paths)
+ {
+ carp "No root path(s) specified";
+ return;
+ }
+
+ opendir my $oldpwd, '.' or do {
+ carp "Can't fetch initial working directory";
+ return;
+ };
+
+ my ($dev, $ino) = stat '.' or do {
+ carp "Can't stat initial working directory";
+ return;
+ };
+
+ my $count = 0;
+ for my $path (@paths)
+ {
+ $count += _rmtree $path, '', $oldpwd, $dev, $ino, $verbose, $safe;
}
$count;
--- perl-5.8.8.orig/lib/File/Spec/Unix.pm
+++ perl-5.8.8/lib/File/Spec/Unix.pm
@@ -354,25 +354,32 @@
sub abs2rel {
my($self,$path,$base) = @_;
- # Clean up $path
- if ( ! $self->file_name_is_absolute( $path ) ) {
- $path = $self->rel2abs( $path ) ;
- }
- else {
- $path = $self->canonpath( $path ) ;
- }
-
# Figure out the effective $base and clean it up.
if ( !defined( $base ) || $base eq '' ) {
$base = $self->_cwd();
}
elsif ( ! $self->file_name_is_absolute( $base ) ) {
- $base = $self->rel2abs( $base ) ;
+ if ( ! $self->file_name_is_absolute( $path ) ) {
+ # optimisation where both paths are relative: save 2 x cwd
+ $base = $self->canonpath( "/$base" );
+ $path = "/$path";
+ }
+ else {
+ $base = $self->rel2abs( $base ) ;
+ }
}
else {
$base = $self->canonpath( $base ) ;
}
+ # Clean up $path
+ if ( ! $self->file_name_is_absolute( $path ) ) {
+ $path = $self->rel2abs( $path ) ;
+ }
+ else {
+ $path = $self->canonpath( $path ) ;
+ }
+
# Now, remove all leading components that are the same
my @pathchunks = $self->splitdir( $path);
my @basechunks = $self->splitdir( $base);
--- perl-5.8.8.orig/lib/Math/Complex.t
+++ perl-5.8.8/lib/Math/Complex.t
@@ -34,6 +34,11 @@
} # cos(), sin(), cosh(), sinh(). The division
# of doubles is the current suspect.
+my %skip;
+if (`uname -m` =~ /^arm/) {
+ $skip{$_} = 'non-IEEE fp rounding' for 289, 509;
+}
+
while () {
s/^\s+//;
next if $_ eq '' || /^\#/;
@@ -563,7 +568,9 @@
print "# @_\n";
- if ("$got" eq "$expected"
+ if ($skip{$test}) {
+ print "ok $test # skipped: $skip{$test}\n";
+ } elsif ("$got" eq "$expected"
||
($expected =~ /^-?\d/ && $got == $expected)
||
--- perl-5.8.8.orig/lib/Memoize/t/tie_sdbm.t
+++ perl-5.8.8/lib/Memoize/t/tie_sdbm.t
@@ -28,14 +28,7 @@
print "1..4\n";
-if (eval {require File::Spec::Functions}) {
- File::Spec::Functions->import('tmpdir', 'catfile');
- $tmpdir = tmpdir();
-} else {
- *catfile = sub { join '/', @_ };
- $tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
-}
-$file = catfile($tmpdir, "md$$");
+$file = "md$$";
1 while unlink $file, "$file.dir", "$file.pag";
tryout('Memoize::SDBM_File', $file, 1); # Test 1..4
1 while unlink $file, "$file.dir", "$file.pag";
--- perl-5.8.8.orig/lib/Memoize/t/tie_ndbm.t
+++ perl-5.8.8/lib/Memoize/t/tie_ndbm.t
@@ -29,13 +29,7 @@
print "1..4\n";
-if (eval {require File::Spec::Functions}) {
- File::Spec::Functions->import();
-} else {
- *catfile = sub { join '/', @_ };
-}
-$tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
-$file = catfile($tmpdir, "md$$");
+$file = "md$$";
1 while unlink $file, "$file.dir", "$file.pag", "$file.db";
tryout('Memoize::NDBM_File', $file, 1); # Test 1..4
1 while unlink $file, "$file.dir", "$file.pag", "$file.db";
--- perl-5.8.8.orig/lib/Memoize/t/tie.t
+++ perl-5.8.8/lib/Memoize/t/tie.t
@@ -29,14 +29,7 @@
$_[0]+1;
}
-if (eval {require File::Spec::Functions}) {
- File::Spec::Functions->import('tmpdir', 'catfile');
- $tmpdir = tmpdir();
-} else {
- *catfile = sub { join '/', @_ };
- $tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
-}
-$file = catfile($tmpdir, "md$$");
+$file = "md$$";
@files = ($file, "$file.db", "$file.dir", "$file.pag");
1 while unlink @files;
--- perl-5.8.8.orig/lib/Memoize/t/tie_storable.t
+++ perl-5.8.8/lib/Memoize/t/tie_storable.t
@@ -34,13 +34,7 @@
print "1..4\n";
-if (eval {require File::Spec::Functions}) {
- File::Spec::Functions->import();
-} else {
- *catfile = sub { join '/', @_ };
-}
-$tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
-$file = catfile($tmpdir, "storable$$");
+$file = "storable$$";
1 while unlink $file;
tryout('Memoize::Storable', $file, 1); # Test 1..4
1 while unlink $file;
--- perl-5.8.8.orig/lib/Memoize/t/tie_gdbm.t
+++ perl-5.8.8/lib/Memoize/t/tie_gdbm.t
@@ -26,13 +26,7 @@
print "1..4\n";
-if (eval {require File::Spec::Functions}) {
- File::Spec::Functions->import();
-} else {
- *catfile = sub { join '/', @_ };
-}
-$tmpdir = $ENV{TMP} || $ENV{TMPDIR} || '/tmp';
-$file = catfile($tmpdir, "md$$");
+$file = "md$$";
1 while unlink $file, "$file.dir", "$file.pag";
tryout('GDBM_File', $file, 1); # Test 1..4
1 while unlink $file, "$file.dir", "$file.pag";
--- perl-5.8.8.orig/lib/Net/POP3.pm
+++ perl-5.8.8/lib/Net/POP3.pm
@@ -54,7 +54,8 @@
$obj->autoflush(1);
$obj->debug(exists $arg{Debug} ? $arg{Debug} : undef);
- unless ($obj->response() == CMD_OK)
+ my $response = $obj->response();
+ unless ($response && $response == CMD_OK)
{
$obj->close();
return undef;
--- perl-5.8.8.orig/lib/Net/hostent.t
+++ perl-5.8.8/lib/Net/hostent.t
@@ -16,6 +16,9 @@
}
if ($^O eq 'MacOS' || ($^O eq 'irix' && $Config{osvers} == 5)) {
plan skip_all => "Test relies on resolution of localhost, fails on $^O ($Config{osvers})";
+ } elsif (!-f '/etc/hosts') {
+ # /etc/hosts is not always present on buildds
+ plan skip_all => "Test requires /etc/hosts: not found";
}
}
--- perl-5.8.8.orig/lib/Net/Config.pm
+++ perl-5.8.8/lib/Net/Config.pm
@@ -57,9 +57,8 @@
}
TRY_INTERNET_CONFIG
-my $file = __FILE__;
+my $file = '/etc/perl/Net/libnet.cfg';
my $ref;
-$file =~ s/Config.pm/libnet.cfg/;
if ( -f $file ) {
$ref = eval { local $SIG{__DIE__}; do $file };
if (ref($ref) eq 'HASH') {
@@ -131,8 +130,8 @@
C holds configuration data for the modules in the libnet
distribuion. During installation you will be asked for these values.
-The configuration data is held globally in a file in the perl installation
-tree, but a user may override any of these values by providing their own. This
+The configuration data is held globally in C,
+but a user may override any of these values by providing their own. This
can be done by having a C<.libnetrc> file in their home directory. This file
should return a reference to a HASH containing the keys described below.
For example
@@ -157,7 +156,7 @@
Attempts to determine if a given host is outside your firewall. Possible
return values are.
- -1 Cannot lookup hostname
+ \-1 Cannot lookup hostname
0 Host is inside firewall (or there is no ftp_firewall entry)
1 Host is outside the firewall
--- perl-5.8.8.orig/lib/Net/SMTP.pm
+++ perl-5.8.8/lib/Net/SMTP.pm
@@ -558,7 +558,7 @@
This example prints the mail domain name of the SMTP server known as mailhost:
- #!/usr/local/bin/perl -w
+ #!/usr/local/bin/perl \-w
use Net::SMTP;
@@ -569,7 +569,7 @@
This example sends a small message to the postmaster at the SMTP server
known as mailhost:
- #!/usr/local/bin/perl -w
+ #!/usr/local/bin/perl \-w
use Net::SMTP;
@@ -623,6 +623,7 @@
B - Enable debugging information
+B - Select a port on the remote host to connect to (default is 25)
Example:
--- perl-5.8.8.orig/lib/Net/FTP.pm
+++ perl-5.8.8/lib/Net/FTP.pm
@@ -1243,7 +1243,7 @@
$ftp = Net::FTP->new("some.host.name", Debug => 0)
or die "Cannot connect to some.host.name: $@";
- $ftp->login("anonymous",'-anonymous@')
+ $ftp->login("anonymous",'\-anonymous@')
or die "Cannot login ", $ftp->message;
$ftp->cwd("/pub")
--- perl-5.8.8.orig/lib/Net/NNTP.pm
+++ perl-5.8.8/lib/Net/NNTP.pm
@@ -120,7 +120,7 @@
my $nntp = shift;
my @fh;
- @fh = (pop) if @_ == 2 || (@_ && ref($_[0]) || ref(\$_[0]) eq 'GLOB');
+ @fh = (pop) if @_ == 2 || (@_ && (ref($_[0]) || ref(\$_[0]) eq 'GLOB'));
$nntp->_ARTICLE(@_)
? $nntp->read_until_dot(@fh)
--- perl-5.8.8.orig/lib/Net/Cmd.pm
+++ perl-5.8.8/lib/Net/Cmd.pm
@@ -204,7 +204,7 @@
{
local $SIG{PIPE} = 'IGNORE' unless $^O eq 'MacOS';
- my $str = join(" ", map { /\n/ ? do { my $n = $_; $n =~ tr/\n/ /; $n } : $_; } @_);
+ my $str = join(" ", map { defined($_) ? /\n/ ? do { my $n = $_; $n =~ tr/\n/ /; $n } : $_ : " "; } @_);
$str = $cmd->toascii($str) if $tr;
$str .= "\015\012";
--- perl-5.8.8.orig/lib/CPAN/FirstTime.pm
+++ perl-5.8.8/lib/CPAN/FirstTime.pm
@@ -358,7 +358,7 @@
};
- $default = $CPAN::Config->{makepl_arg} || "";
+ $default = $CPAN::Config->{makepl_arg} || "INSTALLDIRS=site";
$CPAN::Config->{makepl_arg} =
prompt("Parameters for the 'perl Makefile.PL' command?
Typical frequently used settings:
@@ -464,6 +464,7 @@
# We don't ask that now, it will be noticed in time, won't it?
$CPAN::Config->{'inhibit_startup_message'} = 0;
+ $CPAN::Config->{'cpan_version_check'} = 1;
$CPAN::Config->{'getcwd'} = 'cwd';
print "\n\n";
@@ -553,6 +554,9 @@
$pos = 0 if $pos >= @$items;
my $num = prompt($prompt,$default);
+ unless ($num or -t) {
+ die "No default for '$prompt',\naborting non-interactive setup.\n";
+ }
@nums = split (' ', $num);
my $i = scalar @$items;
--- perl-5.8.8.orig/lib/Locale/Maketext/TPJ13.pod
+++ perl-5.8.8/lib/Locale/Maketext/TPJ13.pod
@@ -208,7 +208,7 @@
He elaborates: In "I scanned %g directories", you'd I
"directories" to be in the accusative case (since it is the direct
-object in the sentnce) and the plural number,
+object in the sentence) and the plural number,
except where $directory_count is 1, then you'd expect the singular, of
course. Just like Latin or German. I Where $directory_count %
10 is 1 ("%" for modulo, remember), assuming $directory count is an
--- perl-5.8.8.orig/lib/ExtUtils/t/INST_PREFIX.t
+++ perl-5.8.8/lib/ExtUtils/t/INST_PREFIX.t
@@ -16,7 +16,7 @@
}
use strict;
-use Test::More tests => 52;
+use Test::More tests => 47;
use MakeMaker::Test::Utils;
use MakeMaker::Test::Setup::BFD;
use ExtUtils::MakeMaker;
@@ -62,16 +62,16 @@
Writing\ $Makefile\ for\ Big::Dummy\n
}x );
-is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
+#is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
isa_ok( $mm, 'ExtUtils::MakeMaker' );
is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
is( $mm->{VERSION}, 0.01, 'VERSION' );
-foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
- unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
-}
+#foreach my $prefix (qw(PREFIX PERLPREFIX SITEPREFIX VENDORPREFIX)) {
+# unlike( $mm->{$prefix}, qr/\$\(PREFIX\)/ );
+#}
my $PREFIX = File::Spec->catdir('foo', 'bar');
--- perl-5.8.8.orig/lib/ExtUtils/t/INST.t
+++ perl-5.8.8/lib/ExtUtils/t/INST.t
@@ -65,9 +65,7 @@
is( $mm->{NAME}, 'Big::Dummy', 'NAME' );
is( $mm->{VERSION}, 0.01, 'VERSION' );
-my $config_prefix = $Config{installprefixexp} || $Config{installprefix} ||
- $Config{prefixexp} || $Config{prefix};
-is( $mm->{PERLPREFIX}, $config_prefix, 'PERLPREFIX' );
+is( $mm->{PERLPREFIX}, '$(PREFIX)', 'PERLPREFIX' );
is( !!$mm->{PERL_CORE}, !!$ENV{PERL_CORE}, 'PERL_CORE' );
--- perl-5.8.8.orig/lib/ExtUtils/t/Command.t
+++ perl-5.8.8/lib/ExtUtils/t/Command.t
@@ -23,7 +23,7 @@
}
BEGIN {
- use Test::More tests => 38;
+ use Test::More tests => 39;
use File::Spec;
}
@@ -148,7 +148,7 @@
$^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin' ||
$^O eq 'MacOS'
) {
- skip( "different file permission semantics on $^O", 4);
+ skip( "different file permission semantics on $^O", 5);
}
@ARGV = ('testdir');
@@ -178,6 +178,7 @@
@ARGV = ('testdir');
rm_rf;
+ ok( ! -e 'testdir', 'rm_rf can delete a read-only dir' );
}
--- perl-5.8.8.orig/lib/ExtUtils/Liblist/Kid.pm
+++ perl-5.8.8/lib/ExtUtils/Liblist/Kid.pm
@@ -54,6 +54,9 @@
my($pwd) = cwd(); # from Cwd.pm
my($found) = 0;
+ # Debian-specific: don't use LD_RUN_PATH for standard dirs
+ $ld_run_path_seen{$_}++ for qw(/lib /usr/lib /usr/X11R6/lib);
+
foreach $thislib (split ' ', $potential_libs){
# Handle possible linker path arguments.
--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm
+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm
@@ -20,7 +20,7 @@
use ExtUtils::MakeMaker qw($Verbose neatvalue);
-$VERSION = '1.50';
+$VERSION = '1.50_01';
require ExtUtils::MM_Any;
@ISA = qw(ExtUtils::MM_Any);
@@ -2054,9 +2054,7 @@
$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
pure_perl_install ::
- $(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
- write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
$(INST_LIB) $(DESTINSTALLPRIVLIB) \
$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
$(INST_BIN) $(DESTINSTALLBIN) \
@@ -2068,61 +2066,41 @@
pure_site_install ::
- $(NOECHO) $(MOD_INSTALL) \
+ $(NOECHO) umask 02; $(MOD_INSTALL) \
read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
$(INST_LIB) $(DESTINSTALLSITELIB) \
$(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
$(INST_BIN) $(DESTINSTALLSITEBIN) \
- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+ $(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
$(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
$(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
pure_vendor_install ::
- $(NOECHO) $(MOD_INSTALL) \
- read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
- write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
+ $(NOECHO) umask 022; $(MOD_INSTALL) \
$(INST_LIB) $(DESTINSTALLVENDORLIB) \
$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
$(INST_BIN) $(DESTINSTALLVENDORBIN) \
- $(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+ $(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
$(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
doc_perl_install ::
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
- -$(NOECHO) $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" "$(INSTALLPRIVLIB)" \
- LINKTYPE "$(LINKTYPE)" \
- VERSION "$(VERSION)" \
- EXE_FILES "$(EXE_FILES)" \
- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
doc_site_install ::
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
- -$(NOECHO) $(DOC_INSTALL) \
+ $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
+ -$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
+ -$(NOECHO) umask 02; $(DOC_INSTALL) \
"Module" "$(NAME)" \
"installed into" "$(INSTALLSITELIB)" \
LINKTYPE "$(LINKTYPE)" \
VERSION "$(VERSION)" \
EXE_FILES "$(EXE_FILES)" \
- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
+ >> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
doc_vendor_install ::
- $(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
- -$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
- -$(NOECHO) $(DOC_INSTALL) \
- "Module" "$(NAME)" \
- "installed into" "$(INSTALLVENDORLIB)" \
- LINKTYPE "$(LINKTYPE)" \
- VERSION "$(VERSION)" \
- EXE_FILES "$(EXE_FILES)" \
- >> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
};
@@ -2131,13 +2109,12 @@
$(NOECHO) $(NOOP)
uninstall_from_perldirs ::
- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{
uninstall_from_sitedirs ::
$(NOECHO) $(UNINSTALL) }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{
uninstall_from_vendordirs ::
- $(NOECHO) $(UNINSTALL) }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{
+
};
join("",@m);
@@ -2415,7 +2392,7 @@
($lperl = $libperl) =~ s/\$\(A\)/$self->{LIB_EXT}/;
}
unless ($libperl && -f $lperl) { # Ilya's code...
- my $dir = $self->{PERL_SRC} || "$self->{PERL_ARCHLIB}/CORE";
+ my $dir = $self->{PERL_SRC} || "/usr/lib";
$dir = "$self->{PERL_ARCHLIB}/.." if $self->{UNINSTALLED_PERL};
$libperl ||= "libperl$self->{LIB_EXT}";
$libperl = "$dir/$libperl";
@@ -3007,8 +2984,7 @@
print STDERR " prefixify $var => $path\n" if $Verbose >= 2;
print STDERR " from $sprefix to $rprefix\n" if $Verbose >= 2;
- if( $self->{ARGS}{PREFIX} && $self->file_name_is_absolute($path) &&
- $path !~ s{^\Q$sprefix\E\b}{$rprefix}s )
+ if( $path !~ s{^\Q$sprefix\E\b}{$rprefix}s && $self->{ARGS}{PREFIX} )
{
print STDERR " cannot prefix, using default.\n" if $Verbose >= 2;
@@ -3052,14 +3028,11 @@
# pm_to_blib depends on then it can't depend on pm_to_blib
# else we have a dependency loop.
my $pm_dep;
- my $perlrun;
if( defined $self->{PM}{$target} ) {
$pm_dep = '';
- $perlrun = 'PERLRUN';
}
else {
$pm_dep = 'pm_to_blib';
- $perlrun = 'PERLRUNINST';
}
$m .= <1;
+ mkpath($targetdir) unless $nonono;
+ print "mkpath($targetdir)\n" if $verbose>1;
}
copy($sourcefile, $targetfile) unless $nonono;
print "Installing $targetfile\n";
--- perl-5.8.8.orig/lib/ExtUtils/instmodsh
+++ perl-5.8.8/lib/ExtUtils/instmodsh
@@ -18,9 +18,11 @@
=head1 DESCRIPTION
-A little interface to ExtUtils::Installed to examine installed modules,
+A little interface to ExtUtils::Installed to examine locally* installed modules,
validate your packlists and even create a tarball from an installed module.
+*On Debian system, B and B modules are managed by C.
+
=head1 SEE ALSO
ExtUtils::Installed
--- perl-5.8.8.orig/lib/ExtUtils/Embed.pm
+++ perl-5.8.8/lib/ExtUtils/Embed.pm
@@ -300,6 +300,9 @@
Typically, an application B will invoke ExtUtils::Embed
functions while building your application.
+Note that on Debian systems the B package is required for
+compiling applications which embed an interpreter.
+
=head1 @EXPORT
ExtUtils::Embed exports the following functions:
--- perl-5.8.8.orig/lib/ExtUtils/MM_Any.pm
+++ perl-5.8.8/lib/ExtUtils/MM_Any.pm
@@ -2,7 +2,7 @@
use strict;
use vars qw($VERSION @ISA);
-$VERSION = '0.13';
+$VERSION = '0.13_01';
use File::Spec;
BEGIN { @ISA = qw(File::Spec); }
@@ -645,8 +645,6 @@
sub manifypods_target {
my($self) = shift;
- my $man1pods = '';
- my $man3pods = '';
my $dependencies = '';
# populate manXpods & dependencies:
@@ -666,7 +664,7 @@
foreach my $section (qw(1 3)) {
my $pods = $self->{"MAN${section}PODS"};
push @man_cmds, $self->split_command(<{INSTALLSITEBIN} ||= '$(INSTALLBIN)'
unless $Config{installsitebin};
+ $self->{INSTALLSITESCRIPT} ||= '$(INSTALLSCRIPT)'
+ unless $Config{installsitescript};
unless( $Config{installvendorbin} ) {
$self->{INSTALLVENDORBIN} ||= $Config{usevendorprefix}
? $Config{installbin}
: '';
}
+ unless( $Config{installvendorscript} ) {
+ $self->{INSTALLVENDORSCRIPT} ||= $Config{usevendorprefix}
+ ? $Config{installscript}
+ : '';
+ }
my $iprefix = $Config{installprefixexp} || $Config{installprefix} ||
@@ -1073,9 +1078,11 @@
$self->{SITEPREFIX} ||= $sprefix;
$self->{VENDORPREFIX} ||= $vprefix;
- # Lots of MM extension authors like to use $(PREFIX) so we
- # put something sensible in there no matter what.
- $self->{PREFIX} = '$('.uc $self->{INSTALLDIRS}.'PREFIX)';
+ my $p = $self->{PREFIX} = $self->{PERLPREFIX};
+ for my $t (qw/PERL SITE VENDOR/)
+ {
+ $self->{"${t}PREFIX"} =~ s!^\Q$p\E(?=/|$)!\$(PREFIX)!;
+ }
}
my $arch = $Config{archname};
@@ -1111,6 +1118,12 @@
script => { s => $iprefix,
t => 'perl',
d => 'bin' },
+ vendorscript=> { s => $vprefix,
+ t => 'vendor',
+ d => 'bin' },
+ sitescript => { s => $sprefix,
+ t => 'site',
+ d => 'bin' },
);
my %man_layouts =
@@ -1253,7 +1266,6 @@
# Adjust for variable quirks.
$install{INSTALLARCHLIB} ||= delete $install{INSTALLARCH};
$install{INSTALLPRIVLIB} ||= delete $install{INSTALLLIB};
- delete @install{qw(INSTALLVENDORSCRIPT INSTALLSITESCRIPT)};
foreach my $key (keys %install) {
$self->{$key} ||= $install{$key};
@@ -1627,7 +1639,7 @@
return qw(PRIVLIB SITELIB VENDORLIB
ARCHLIB SITEARCH VENDORARCH
BIN SITEBIN VENDORBIN
- SCRIPT
+ SCRIPT SITESCRIPT VENDORSCRIPT
MAN1DIR SITEMAN1DIR VENDORMAN1DIR
MAN3DIR SITEMAN3DIR VENDORMAN3DIR
);
--- perl-5.8.8.orig/lib/ExtUtils/MakeMaker.pm
+++ perl-5.8.8/lib/ExtUtils/MakeMaker.pm
@@ -21,7 +21,7 @@
use vars qw($Revision);
use strict;
-$VERSION = '6.30';
+$VERSION = '6.30_01';
($Revision = q$Revision: 4535 $) =~ /Revision:\s+(\S+)/;
@ISA = qw(Exporter);
@@ -222,7 +222,7 @@
INSTALLMAN1DIR INSTALLMAN3DIR
INSTALLSITEMAN1DIR INSTALLSITEMAN3DIR
INSTALLVENDORMAN1DIR INSTALLVENDORMAN3DIR
- INSTALLSCRIPT
+ INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
PERL_LIB PERL_ARCHLIB
SITELIBEXP SITEARCHEXP
@@ -1084,7 +1084,7 @@
INST_ARCHLIB INSTALLARCHLIB INSTALLSITEARCH INSTALLVENDORARCH
INST_LIB INSTALLPRIVLIB INSTALLSITELIB INSTALLVENDORLIB
INST_BIN INSTALLBIN INSTALLSITEBIN INSTALLVENDORBIN
- INST_SCRIPT INSTALLSCRIPT INSTALLSCRIPT INSTALLSCRIPT
+ INST_SCRIPT INSTALLSCRIPT INSTALLSITESCRIPT INSTALLVENDORSCRIPT
INST_MAN1DIR INSTALLMAN1DIR INSTALLSITEMAN1DIR INSTALLVENDORMAN1DIR
INST_MAN3DIR INSTALLMAN3DIR INSTALLSITEMAN3DIR INSTALLVENDORMAN3DIR
@@ -1545,7 +1545,7 @@
=item INSTALLSCRIPT
Used by 'make install' which copies files from INST_SCRIPT to this
-directory.
+directory if INSTALLDIRS=perl.
=item INSTALLSITEARCH
@@ -1572,6 +1572,11 @@
If set to 'none', no man pages will be installed.
+=item INSTALLSITESCRIPT
+
+Used by 'make install' which copies files from INST_SCRIPT to this
+directory if INSTALLDIRS is set to site (default).
+
=item INSTALLVENDORARCH
Used by 'make install', which copies files from INST_ARCHLIB to this
@@ -1596,6 +1601,11 @@
If set to 'none', no man pages will be installed.
+=item INSTALLVENDORSCRIPT
+
+Used by 'make install' which copies files from INST_SCRIPT to this
+directory if INSTALLDIRS is set to is set to vendor.
+
=item INST_ARCHLIB
Same as INST_LIB for architecture dependent files.
--- perl-5.8.8.orig/lib/CPAN.pm
+++ perl-5.8.8/lib/CPAN.pm
@@ -1246,7 +1246,7 @@
$configpm = $INC{"CPAN/MyConfig.pm"};
$redo++;
} else {
- my($path_to_cpan) = File::Basename::dirname($INC{"CPAN.pm"});
+ my($path_to_cpan) = '/etc/perl';
my($configpmdir) = File::Spec->catdir($path_to_cpan,"CPAN");
my($configpmtest) = File::Spec->catfile($configpmdir,"Config.pm");
if (-d $configpmdir or File::Path::mkpath($configpmdir)) {
@@ -3290,7 +3290,8 @@
)
) {
local($^W)= 0;
- if ($version > $CPAN::VERSION){
+ if ($CPAN::Config->{cpan_version_check} &&
+ $version > $CPAN::VERSION){
$CPAN::Frontend->myprint(qq{
There's a new CPAN.pm version (v$version) available!
[Current version is v$CPAN::VERSION]
@@ -6764,6 +6765,7 @@
index_expire after this many days refetch index files
cache_metadata use serializer to cache metadata
cpan_home local directory reserved for this package
+ cpan_version_check if true, warns you when the CPAN module is out of date.
dontload_hash anonymous hash: modules in the keys will not be
loaded by the CPAN::has_inst() routine
gzip location of external program gzip
--- perl-5.8.8.orig/lib/Getopt/Long.pm
+++ perl-5.8.8/lib/Getopt/Long.pm
@@ -1262,7 +1262,7 @@
elsif ( $try eq 'ignorecase' or $try eq 'ignore_case' ) {
$ignorecase = $action;
}
- elsif ( $try eq 'ignore_case_always' ) {
+ elsif ( $try eq 'ignorecase_always' or $try eq 'ignore_case_always' ) {
$ignorecase = $action ? 2 : 0;
}
elsif ( $try eq 'bundling' ) {
--- perl-5.8.8.orig/regcomp.c
+++ perl-5.8.8/regcomp.c
@@ -136,6 +136,7 @@
I32 seen_zerolen;
I32 seen_evals;
I32 utf8;
+ I32 orig_utf8;
#if ADD_TO_REGEXEC
char *starttry; /* -Dr: where regtry was called. */
#define RExC_starttry (pRExC_state->starttry)
@@ -161,6 +162,7 @@
#define RExC_seen_zerolen (pRExC_state->seen_zerolen)
#define RExC_seen_evals (pRExC_state->seen_evals)
#define RExC_utf8 (pRExC_state->utf8)
+#define RExC_orig_utf8 (pRExC_state->orig_utf8)
#define ISMULT1(c) ((c) == '*' || (c) == '+' || (c) == '?')
#define ISMULT2(s) ((*s) == '*' || (*s) == '+' || (*s) == '?' || \
@@ -1750,6 +1752,7 @@
FAIL("NULL regexp argument");
RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
+ RExC_orig_utf8 = RExC_utf8 = pm->op_pmdynflags & PMdf_CMP_UTF8;
RExC_precomp = exp;
DEBUG_r({
@@ -1758,6 +1761,8 @@
PL_colors[4],PL_colors[5],PL_colors[0],
(int)(xend - exp), RExC_precomp, PL_colors[1]);
});
+redo_first_pass:
+ RExC_precomp = exp;
RExC_flags = pm->op_pmflags;
RExC_sawback = 0;
@@ -1783,6 +1788,17 @@
RExC_precomp = Nullch;
return(NULL);
}
+ if (RExC_utf8 && !RExC_orig_utf8) {
+ STRLEN len = xend-exp;
+ DEBUG_r(PerlIO_printf(Perl_debug_log,
+ "UTF8 mismatch! Converting to utf8 for resizing and compile\n"));
+ exp = (char*)Perl_bytes_to_utf8(aTHX_ (U8*)exp, &len);
+ xend = exp + len;
+ RExC_orig_utf8 = RExC_utf8;
+ SAVEFREEPV(exp);
+ goto redo_first_pass;
+ }
+
DEBUG_r(PerlIO_printf(Perl_debug_log, "size %"IVdf" ", (IV)RExC_size));
/* Small enough for pointer-storage convention?
@@ -2775,6 +2791,39 @@
}
/*
+ * reg_recode
+ *
+ * It returns the code point in utf8 for the value in *encp.
+ * value: a code value in the source encoding
+ * encp: a pointer to an Encode object
+ *
+ * If the result from Encode is not a single character,
+ * it returns U+FFFD (Replacement character) and sets *encp to NULL.
+ */
+STATIC UV
+S_reg_recode(pTHX_ const char value, SV **encp)
+{
+ STRLEN numlen = 1;
+ SV * const sv = sv_2mortal(newSVpvn(&value, numlen));
+ const char * const s = encp && *encp ? sv_recode_to_utf8(sv, *encp)
+ : SvPVX(sv);
+ const STRLEN newlen = SvCUR(sv);
+ UV uv = UNICODE_REPLACEMENT;
+
+ if (newlen)
+ uv = SvUTF8(sv)
+ ? utf8n_to_uvchr((U8*)s, newlen, &numlen, UTF8_ALLOW_DEFAULT)
+ : *(U8*)s;
+
+ if (!newlen || numlen != newlen) {
+ uv = UNICODE_REPLACEMENT;
+ if (encp)
+ *encp = NULL;
+ }
+ return uv;
+}
+
+/*
- regatom - the lowest level
*
* Optimization: gobbles an entire sequence of ordinary characters so that
@@ -3166,6 +3215,8 @@
ender = grok_hex(p, &numlen, &flags, NULL);
p += numlen;
}
+ if (PL_encoding && ender < 0x100)
+ goto recode_encoding;
break;
case 'c':
p++;
@@ -3185,6 +3236,17 @@
--p;
goto loopdone;
}
+ if (PL_encoding && ender < 0x100)
+ goto recode_encoding;
+ break;
+ recode_encoding:
+ {
+ SV* enc = PL_encoding;
+ ender = reg_recode((const char)(U8)ender, &enc);
+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
+ vWARN(p, "Invalid escape in the specified encoding");
+ RExC_utf8 = 1;
+ }
break;
case '\0':
if (p >= RExC_end)
@@ -3315,32 +3377,6 @@
break;
}
- /* If the encoding pragma is in effect recode the text of
- * any EXACT-kind nodes. */
- if (PL_encoding && PL_regkind[(U8)OP(ret)] == EXACT) {
- STRLEN oldlen = STR_LEN(ret);
- SV *sv = sv_2mortal(newSVpvn(STRING(ret), oldlen));
-
- if (RExC_utf8)
- SvUTF8_on(sv);
- if (sv_utf8_downgrade(sv, TRUE)) {
- const char * const s = sv_recode_to_utf8(sv, PL_encoding);
- const STRLEN newlen = SvCUR(sv);
-
- if (SvUTF8(sv))
- RExC_utf8 = 1;
- if (!SIZE_ONLY) {
- DEBUG_r(PerlIO_printf(Perl_debug_log, "recode %*s to %*s\n",
- (int)oldlen, STRING(ret),
- (int)newlen, s));
- Copy(s, STRING(ret), newlen, char);
- STR_LEN(ret) += newlen - oldlen;
- RExC_emit += STR_SZ(newlen) - STR_SZ(oldlen);
- } else
- RExC_size += STR_SZ(newlen) - STR_SZ(oldlen);
- }
- }
-
return(ret);
}
@@ -3718,6 +3754,8 @@
value = grok_hex(RExC_parse, &numlen, &flags, NULL);
RExC_parse += numlen;
}
+ if (PL_encoding && value < 0x100)
+ goto recode_encoding;
break;
case 'c':
value = UCHARAT(RExC_parse++);
@@ -3725,13 +3763,24 @@
break;
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
- {
- I32 flags = 0;
- numlen = 3;
- value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
- RExC_parse += numlen;
- break;
- }
+ {
+ I32 flags = 0;
+ numlen = 3;
+ value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
+ RExC_parse += numlen;
+ if (PL_encoding && value < 0x100)
+ goto recode_encoding;
+ break;
+ }
+ recode_encoding:
+ {
+ SV* enc = PL_encoding;
+ value = reg_recode((const char)(U8)value, &enc);
+ if (!enc && SIZE_ONLY && ckWARN(WARN_REGEXP))
+ vWARN(RExC_parse,
+ "Invalid escape in the specified encoding");
+ break;
+ }
default:
if (!SIZE_ONLY && isALPHA(value) && ckWARN(WARN_REGEXP))
vWARN2(RExC_parse,
--- perl-5.8.8.orig/makedepend.SH
+++ perl-5.8.8/makedepend.SH
@@ -128,7 +128,7 @@
*.y) filebase=`basename $file .y` ;;
esac
case "$file" in
- */*) finc="-I`echo $file | sed 's#/[^/]*$##`" ;;
+ */*) finc="-I`echo $file | sed 's#/[^/]*$##'`" ;;
*) finc= ;;
esac
$echo "Finding dependencies for $filebase$_o."
@@ -167,7 +167,9 @@
-e '/^#.*/d' \
-e '/^#.*/d' \
-e '/^#.*/d' \
+ -e '/^#.*/d' \
-e '/^#.*"-"/d' \
+ -e '/^#.*"\/.*\/"/d' \
-e '/: file path prefix .* never used$/d' \
-e 's#\.[0-9][0-9]*\.c#'"$file.c#" \
-e 's/^[ ]*#[ ]*line/#/' \
--- perl-5.8.8.orig/perl.c
+++ perl-5.8.8/perl.c
@@ -4776,9 +4776,14 @@
incpush(APPLLIB_EXP, TRUE, TRUE, TRUE);
#endif
+#ifdef DEBIAN
+ /* for configuration where /usr is mounted ro (CPAN::Config, Net::Config) */
+ incpush("/etc/perl", FALSE, FALSE, FALSE);
+#else
#ifdef ARCHLIB_EXP
incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
#endif
+#endif
#ifdef MACOS_TRADITIONAL
{
Stat_t tmpstatbuf;
@@ -4803,11 +4808,13 @@
#ifndef PRIVLIB_EXP
# define PRIVLIB_EXP "/usr/local/lib/perl5:/usr/local/lib/perl"
#endif
+#ifndef DEBIAN
#if defined(WIN32)
incpush(PRIVLIB_EXP, TRUE, FALSE, TRUE);
#else
incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
#endif
+#endif
#ifdef SITEARCH_EXP
/* sitearch is always relative to sitelib on Windows for
@@ -4850,6 +4857,61 @@
incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE);
#endif
+#ifdef DEBIAN
+ incpush(ARCHLIB_EXP, FALSE, FALSE, TRUE);
+ incpush(PRIVLIB_EXP, FALSE, FALSE, TRUE);
+
+ /* Non-versioned site directory for local modules and for
+ compatability with the previous packages' site dirs */
+ incpush("/usr/local/lib/site_perl", TRUE, FALSE, FALSE);
+
+#ifdef PERL_INC_VERSION_LIST
+ {
+ struct stat s;
+
+ /* add small buffer in case old versions are longer than the
+ current version */
+ char sitearch[sizeof(SITEARCH_EXP)+16] = SITEARCH_EXP;
+ char sitelib[sizeof(SITELIB_EXP)+16] = SITELIB_EXP;
+ char const *vers[] = { PERL_INC_VERSION_LIST };
+ char const **p;
+
+ char *arch_vers = strrchr(sitearch, '/');
+ char *lib_vers = strrchr(sitelib, '/');
+
+ if (arch_vers && isdigit(*++arch_vers))
+ *arch_vers = 0;
+ else
+ arch_vers = 0;
+
+ if (lib_vers && isdigit(*++lib_vers))
+ *lib_vers = 0;
+ else
+ lib_vers = 0;
+
+ /* there is some duplication here as incpush does something
+ similar internally, but required as sitearch is not a
+ subdirectory of sitelib */
+ for (p = vers; *p; p++)
+ {
+ if (arch_vers)
+ {
+ strcpy(arch_vers, *p);
+ if (PerlLIO_stat(sitearch, &s) >= 0 && S_ISDIR(s.st_mode))
+ incpush(sitearch, FALSE, FALSE, FALSE);
+ }
+
+ if (lib_vers)
+ {
+ strcpy(lib_vers, *p);
+ if (PerlLIO_stat(sitelib, &s) >= 0 && S_ISDIR(s.st_mode))
+ incpush(sitelib, FALSE, FALSE, FALSE);
+ }
+ }
+ }
+#endif
+#endif
+
#ifdef PERL_OTHERLIBDIRS
incpush(PERL_OTHERLIBDIRS, TRUE, TRUE, TRUE);
#endif
--- perl-5.8.8.orig/cflags.SH
+++ perl-5.8.8/cflags.SH
@@ -109,7 +109,13 @@
pp) ;;
pp_ctl) ;;
pp_hot) ;;
- pp_pack) ;;
+ pp_pack)
+ case $archname in
+ arm-*|armeb-*)
+ optimize=-Os;;
+ hppa-*|mips*-*)
+ optimize="$optimize -fno-delayed-branch";;
+ esac;;
pp_sys) ;;
regcomp) ;;
regexec) ;;
--- perl-5.8.8.orig/pod/perl.pod
+++ perl-5.8.8/pod/perl.pod
@@ -16,6 +16,38 @@
S<[ B<-i>[I] ]>
S<[ B<-e> I<'command'> ] [ B<--> ] [ I ] [ I ]...>
+=head1 DESCRIPTION
+
+Perl is a language optimized for scanning arbitrary
+text files, extracting information from those text files, and printing
+reports based on that information. It's also a good language for many
+system management tasks. The language is intended to be practical
+(easy to use, efficient, complete) rather than beautiful (tiny,
+elegant, minimal).
+
+Perl combines (in the author's opinion, anyway) some of the best
+features of C, B, B, and B, so people familiar with
+those languages should have little difficulty with it. (Language
+historians will also note some vestiges of B, Pascal, and even
+BASIC-PLUS.) Expression syntax corresponds closely to C
+expression syntax. Unlike most Unix utilities, Perl does not
+arbitrarily limit the size of your data--if you've got the memory,
+Perl can slurp in your whole file as a single string. Recursion is of
+unlimited depth. And the tables used by hashes (sometimes called
+"associative arrays") grow as necessary to prevent degraded
+performance. Perl can use sophisticated pattern matching techniques to
+scan large amounts of data quickly. Although optimized for
+scanning text, Perl can also deal with binary data, and can make dbm
+files look like hashes. Setuid Perl scripts are safer than C programs
+through a dataflow tracing mechanism that prevents many stupid
+security holes.
+
+If you have a problem that would ordinarily use B or B or
+B, but it exceeds their capabilities or must run a little faster,
+and you don't want to write the silly thing in C, then Perl may be for
+you. There are also translators to turn your B and B
+scripts into Perl scripts.
+
If you're new to Perl, you should start with L, which is a
general intro for beginners and provides some background to help you
navigate the rest of Perl's extensive documentation.
@@ -203,69 +235,21 @@
perlwin32 Perl notes for Windows
-By default, the manpages listed above are installed in the
-F directory.
-
-Extensive additional documentation for Perl modules is available. The
-default configuration for perl will place this additional documentation
-in the F directory (or else in the F
-subdirectory of the Perl library directory). Some of this additional
-documentation is distributed standard with Perl, but you'll also find
-documentation for third-party modules there.
+On Debian systems, you need to install the B package which
+contains the majority of the standard Perl documentation and the
+F program.
+
+Extensive additional documentation for Perl modules is available, both
+those distributed with Perl and third-party modules which are packaged
+or locally installed.
You should be able to view Perl's documentation with your man(1)
-program by including the proper directories in the appropriate start-up
-files, or in the MANPATH environment variable. To find out where the
-configuration has installed the manpages, type:
-
- perl -V:man.dir
-
-If the directories have a common stem, such as F
-and F, you need only to add that stem
-(F) to your man(1) configuration files or your MANPATH
-environment variable. If they do not share a stem, you'll have to add
-both stems.
-
-If that doesn't work for some reason, you can still use the
-supplied F script to view module information. You might
-also look into getting a replacement man program.
+program or perldoc(1).
If something strange has gone wrong with your program and you're not
sure where you should look for help, try the B<-w> switch first. It
will often point out exactly where the trouble is.
-=head1 DESCRIPTION
-
-Perl is a language optimized for scanning arbitrary
-text files, extracting information from those text files, and printing
-reports based on that information. It's also a good language for many
-system management tasks. The language is intended to be practical
-(easy to use, efficient, complete) rather than beautiful (tiny,
-elegant, minimal).
-
-Perl combines (in the author's opinion, anyway) some of the best
-features of C, B, B, and B, so people familiar with
-those languages should have little difficulty with it. (Language
-historians will also note some vestiges of B, Pascal, and even
-BASIC-PLUS.) Expression syntax corresponds closely to C
-expression syntax. Unlike most Unix utilities, Perl does not
-arbitrarily limit the size of your data--if you've got the memory,
-Perl can slurp in your whole file as a single string. Recursion is of
-unlimited depth. And the tables used by hashes (sometimes called
-"associative arrays") grow as necessary to prevent degraded
-performance. Perl can use sophisticated pattern matching techniques to
-scan large amounts of data quickly. Although optimized for
-scanning text, Perl can also deal with binary data, and can make dbm
-files look like hashes. Setuid Perl scripts are safer than C programs
-through a dataflow tracing mechanism that prevents many stupid
-security holes.
-
-If you have a problem that would ordinarily use B or B or
-B, but it exceeds their capabilities or must run a little faster,
-and you don't want to write the silly thing in C, then Perl may be for
-you. There are also translators to turn your B and B
-scripts into Perl scripts.
-
But wait, there's more...
Begun in 1993 (see L), Perl version 5 is nearly a complete
--- perl-5.8.8.orig/pod/perldiag.pod
+++ perl-5.8.8/pod/perldiag.pod
@@ -1900,6 +1900,15 @@
(W printf) Perl does not understand the given format conversion. See
L.
+=item Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/
+
+(W regexp) The numeric escape (for example C<\xHH>) of value < 256
+didn't correspond to a single character through the conversion
+from the encoding specified by the encoding pragma.
+The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead.
+The <-- HERE shows in the regular expression about where the
+escape was discovered.
+
=item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/
(F) The range specified in a character class had a minimum character
--- perl-5.8.8.orig/pod/perlsec.pod
+++ perl-5.8.8/pod/perlsec.pod
@@ -497,7 +497,7 @@
=back
See L for more information,
-and any computer science text book on the algorithmic complexity.
+and any computer science textbook on the algorithmic complexity.
=head1 SEE ALSO
--- perl-5.8.8.orig/proto.h
+++ perl-5.8.8/proto.h
@@ -1748,6 +1748,7 @@
__attribute__warn_unused_result__;
STATIC regnode* S_reg_node(pTHX_ struct RExC_state_t *state, U8 op);
+STATIC UV S_reg_recode(pTHX_ const char value, SV **encp);
STATIC regnode* S_regpiece(pTHX_ struct RExC_state_t *state, I32 *flagp);
STATIC void S_reginsert(pTHX_ struct RExC_state_t *state, U8 op, regnode *opnd);
STATIC void S_regoptail(pTHX_ struct RExC_state_t *state, regnode *p, regnode *val);
--- perl-5.8.8.orig/installperl
+++ perl-5.8.8/installperl
@@ -156,11 +156,8 @@
if ("$File::Find::dir/$_" =~ m{^ext\b(.*)/([^/]+)\.pm$}) {
my($path, $modname) = ($1,$2);
- # strip trailing component first
- $path =~ s{/[^/]*$}{};
-
- # strip optional "/lib";
- $path =~ s{/lib\b}{};
+ # strip to optional "/lib", or remove trailing component
+ $path =~ s{.*/lib\b}{} or $path =~ s{/[^/]*$}{};
# strip any leading /
$path =~ s{^/}{};
@@ -851,7 +848,7 @@
}
if (-f $_) {
- if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$] && $archpms{$1})) {
+ if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$])) {
$installlib = $installprivlib;
#We're installing *.al and *.ix files into $installprivlib,
#but we have to delete old *.al and *.ix files from the 5.000