--- 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, "" ); ++ # 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 "\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 @@ +

new()

+

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

+
    +
  1. Cat + ++
  2. +
  3. Sat + ++
  4. +
  5. Mat + ++
  6. +
+

No bullets, no title

+
+-
++
++ +
+

Cat

+
+- +-
++
++ +
+

Sat

+
+- +-
++
++ +
+

Mat

+
+- +
+

+

+@@ -153,7 +157,7 @@ +

+
+

TESTING FOR AND BEGIN

+-
++
+

+ 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 @@

new()

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

  1. Cat +
  2. Sat +
  3. Mat +

No bullets, no title

-
+
+

Cat

- -
+
+

Sat

- -
+
+

Mat

-

@@ -153,7 +157,7 @@


TESTING FOR AND BEGIN

-
+

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, "" ); + # 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 "\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