summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2008-12-26 09:13:51 +0000
committerNicholas Clark <nick@ccl4.org>2008-12-26 09:13:51 +0000
commite9c9f4ae5f2d0d58e16bec3b528c1d6eec0c2716 (patch)
tree32df7738b36c34c41acc5a1bf3a4da376db45638
parent4e32d3ada00dc86f30145cd90e757baad18afd5f (diff)
parentb16c2e4a254d31480561f2bca5aeaeb75328de9c (diff)
downloadperl-e9c9f4ae5f2d0d58e16bec3b528c1d6eec0c2716.tar.gz
Merge branch 'blead' of nicholas@perl5.git.perl.org:/gitroot/perl into blead
-rwxr-xr-xConfigure8
-rw-r--r--MANIFEST1
-rw-r--r--NetWare/Makefile1
-rw-r--r--Porting/Maintainers.pl9
-rw-r--r--[-rwxr-xr-x]ext/Devel/PPPort/Changes0
-rw-r--r--[-rwxr-xr-x]ext/threads/threads.pm0
-rw-r--r--[-rwxr-xr-x]ext/threads/threads.xs0
-rw-r--r--lib/Pod/Checker.pm2
-rw-r--r--lib/Pod/Parser.pm31
-rw-r--r--[-rwxr-xr-x]lib/Text/Balanced/README0
-rw-r--r--[-rwxr-xr-x]lib/diagnostics.pm0
-rw-r--r--perl.c8
-rw-r--r--pod/Makefile.SH9
-rw-r--r--pod/buildtoc2
-rw-r--r--pod/checkpods.PL85
-rw-r--r--pod/perl5110delta.pod9
-rw-r--r--pod/perl590delta.pod2
-rw-r--r--pod/perl595delta.pod6
-rw-r--r--pod/perlebcdic.pod2
-rw-r--r--pod/perlform.pod2
-rw-r--r--pod/perlfunc.pod10
-rw-r--r--pod/perlguts.pod6
-rw-r--r--pod/perlhack.pod376
-rw-r--r--pod/perlrepository.pod28
-rw-r--r--pod/perltodo.pod7
-rw-r--r--reentr.h396
-rw-r--r--reentr.pl8
-rw-r--r--t/run/switchI.t4
-rw-r--r--win32/Makefile3
-rw-r--r--win32/makefile.mk5
-rw-r--r--win32/pod.mak9
31 files changed, 315 insertions, 714 deletions
diff --git a/Configure b/Configure
index 1e0c25463d..ed9f4dff51 100755
--- a/Configure
+++ b/Configure
@@ -25,7 +25,7 @@
# $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
#
-# Generated on Wed Dec 3 15:26:54 CET 2008 [metaconfig 3.5 PL0]
+# Generated on Thu Dec 25 12:54:36 CET 2008 [metaconfig 3.5 PL0]
# (with additional metaconfig patches by perlbug@perl.org)
cat >c1$$ <<EOF
@@ -4145,7 +4145,9 @@ fi
version_patchlevel_string="version $patchlevel subversion $subversion"
case "$perl_patchlevel" in
0|'') ;;
-*) version_patchlevel_string="$version_patchlevel_string patch $perl_patchlevel" ;;
+*) perl_patchlevel=`echo $perl_patchlevel | sed 's/.* //'`
+ version_patchlevel_string="$version_patchlevel_string patch $perl_patchlevel"
+ ;;
esac
$echo "(You have $package $version_patchlevel_string.)"
@@ -23135,7 +23137,7 @@ $test -f UU/cmdline.opt && $cat UU/cmdline.opt >> config.sh
: add special variables
$test -f $src/patchlevel.h && \
awk '/^#define[ ]+PERL_/ {printf "%s=%s\n",$2,$3}' $src/patchlevel.h >>config.sh
-echo "PERL_PATCHLEVEL=$perl_patchlevel" >>config.sh
+echo "PERL_PATCHLEVEL='$perl_patchlevel'" >>config.sh
echo "PERL_CONFIG_SH=true" >>config.sh
: propagate old symbols
diff --git a/MANIFEST b/MANIFEST
index fccb6e0236..f1a9719b43 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -3353,7 +3353,6 @@ plan9/plan9ish.h Plan9 port: Plan9-specific C header file
plan9/setup.rc Plan9 port: script for easy build+install
plan9/versnum Plan9 port: script to print version number
pod/buildtoc Update files based on pod.lst
-pod/checkpods.PL Tool to check for common errors in pods
pod.lst List the pods and their roles
pod/Makefile.SH generate Makefile which makes pods into something else
pod/perl5004delta.pod Perl changes in version 5.004
diff --git a/NetWare/Makefile b/NetWare/Makefile
index 3fcf143581..13c56fbf8b 100644
--- a/NetWare/Makefile
+++ b/NetWare/Makefile
@@ -667,7 +667,6 @@ UTILS = \
..\utils\c2ph \
..\utils\h2xs \
..\utils\perldoc \
- ..\pod\checkpods \
..\pod\pod2html \
..\pod\pod2latex \
..\pod\pod2man \
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 1ca2ad0d26..46cc376eed 100644
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -59,6 +59,7 @@ package Maintainers;
'p5p' => 'perl5-porters <perl5-porters@perl.org>',
'perlfaq' => 'perlfaq-workers <perlfaq-workers@perl.org>',
'petdance' => 'Andy Lester <andy@petdance.com>',
+ 'pjf' => 'Paul Fenwick <pjf@cpan.org>',
'pmqs' => 'Paul Marquess <pmqs@cpan.org>',
'pvhp' => 'Peter Prymmer <pvhp@best.com>',
'rclamp' => 'Richard Clamp <rclamp@cpan.org>',
@@ -130,6 +131,14 @@ package Maintainers;
'UPSTREAM' => "blead",
},
+ 'autodie' =>
+ {
+ 'MAINTAINER' => 'pjf',
+ 'FILES' => q[lib/Fatal.pm lib/autodie.pm lib/autodie],
+ 'CPAN' => 1,
+ 'UPSTREAM' => 'cpan',
+ },
+
'B::Concise' =>
{
'MAINTAINER' => 'smccam',
diff --git a/ext/Devel/PPPort/Changes b/ext/Devel/PPPort/Changes
index 9b27100d15..9b27100d15 100755..100644
--- a/ext/Devel/PPPort/Changes
+++ b/ext/Devel/PPPort/Changes
diff --git a/ext/threads/threads.pm b/ext/threads/threads.pm
index 6bf15d04d4..6bf15d04d4 100755..100644
--- a/ext/threads/threads.pm
+++ b/ext/threads/threads.pm
diff --git a/ext/threads/threads.xs b/ext/threads/threads.xs
index cb461cccbe..cb461cccbe 100755..100644
--- a/ext/threads/threads.xs
+++ b/ext/threads/threads.xs
diff --git a/lib/Pod/Checker.pm b/lib/Pod/Checker.pm
index fb877e2a2d..5c301b6de6 100644
--- a/lib/Pod/Checker.pm
+++ b/lib/Pod/Checker.pm
@@ -867,7 +867,7 @@ sub command {
$self->{_list_item_contents} = $1 ? 1 : 0;
$arg = $1;
}
- elsif($arg =~ /^\d+\.?\s*(\S*)/) {
+ elsif($arg =~ /^\d+\.?\s+(\S*)/) {
$type = 'number';
$self->{_list_item_contents} = $1 ? 1 : 0;
$arg = $1;
diff --git a/lib/Pod/Parser.pm b/lib/Pod/Parser.pm
index d242a516af..1f4a33d5b3 100644
--- a/lib/Pod/Parser.pm
+++ b/lib/Pod/Parser.pm
@@ -990,18 +990,38 @@ sub parse_paragraph {
# ## (invoke_callbacks will return true if we do).
# return 1 unless $self->invoke_callbacks($cmd, $text, $line_num, $pod_para);
# }
+
+ # If the last paragraph ended in whitespace, and we're not between verbatim blocks, carp
+ if ($myData{_WHITESPACE} and $myOpts{'-warnings'}
+ and not ($text =~ /^\s+/ and ($myData{_PREVIOUS}||"") eq "verbatim")) {
+ my $errorsub = $self->errorsub();
+ my $line = $line_num - 1;
+ my $errmsg = "*** WARNING: line containing nothing but whitespace".
+ " in paragraph at line $line in file $myData{_INFILE}\n";
+ (ref $errorsub) and &{$errorsub}($errmsg)
+ or (defined $errorsub) and $self->$errorsub($errmsg)
+ or warn($errmsg);
+ }
+
if (length $cmd) {
## A command paragraph
$self->command($cmd, $text, $line_num, $pod_para);
+ $myData{_PREVIOUS} = $cmd;
}
elsif ($text =~ /^\s+/) {
## Indented text - must be a verbatim paragraph
$self->verbatim($text, $line_num, $pod_para);
+ $myData{_PREVIOUS} = "verbatim";
}
else {
## Looks like an ordinary block of text
$self->textblock($text, $line_num, $pod_para);
+ $myData{_PREVIOUS} = "textblock";
}
+
+ # Update the whitespace for the next time around
+ $myData{_WHITESPACE} = $text =~ /^[^\S\r\n]+\Z/m ? 1 : 0;
+
return 1;
}
@@ -1083,17 +1103,6 @@ sub parse_from_filehandle {
next unless (($textline =~ /^([^\S\r\n]*)[\r\n]*$/)
&& (length $paragraph));
- ## Issue a warning about any non-empty blank lines
- if (length($1) > 0 and $myOpts{'-warnings'} and ! $myData{_CUTTING}) {
- my $errorsub = $self->errorsub();
- my $file = $self->input_file();
- my $errmsg = "*** WARNING: line containing nothing but whitespace".
- " in paragraph at line $nlines in file $file\n";
- (ref $errorsub) and &{$errorsub}($errmsg)
- or (defined $errorsub) and $self->$errorsub($errmsg)
- or warn($errmsg);
- }
-
## Now process the paragraph
parse_paragraph($self, $paragraph, ($nlines - $plines) + 1);
$paragraph = '';
diff --git a/lib/Text/Balanced/README b/lib/Text/Balanced/README
index 386bd5ac78..386bd5ac78 100755..100644
--- a/lib/Text/Balanced/README
+++ b/lib/Text/Balanced/README
diff --git a/lib/diagnostics.pm b/lib/diagnostics.pm
index 7af5efa177..7af5efa177 100755..100644
--- a/lib/diagnostics.pm
+++ b/lib/diagnostics.pm
diff --git a/perl.c b/perl.c
index 021f35d327..deb9d383b2 100644
--- a/perl.c
+++ b/perl.c
@@ -4873,7 +4873,8 @@ S_incpush_if_exists(pTHX_ SV *dir)
if (PerlLIO_stat(SvPVX_const(dir), &tmpstatbuf) >= 0 &&
S_ISDIR(tmpstatbuf.st_mode)) {
- av_push(GvAVn(PL_incgv), dir);
+ av_unshift( GvAVn( PL_incgv ), 1 );
+ av_store( GvAVn( PL_incgv ), 0, dir );
dir = newSV(0);
}
return dir;
@@ -5093,8 +5094,9 @@ S_incpush(pTHX_ const char *dir, bool addsubdirs, bool addoldvers, bool usesep,
#endif
}
- /* finally push this lib directory on the end of @INC */
- av_push(GvAVn(PL_incgv), libdir);
+ /* finally add this lib directory at the beginning of @INC */
+ av_unshift( GvAVn( PL_incgv ), 1 );
+ av_store( GvAVn( PL_incgv ), 0, libdir );
}
if (subdir) {
assert (SvREFCNT(subdir) == 1);
diff --git a/pod/Makefile.SH b/pod/Makefile.SH
index 74d299f7a1..0dd799b108 100644
--- a/pod/Makefile.SH
+++ b/pod/Makefile.SH
@@ -54,7 +54,7 @@ LDLIBPTH = $ldlibpth
## In the following dollars and backticks do not need the extra backslash.
$spitshell >>Makefile <<'!NO!SUBS!'
-CONVERTERS = pod2html pod2latex pod2man pod2text checkpods \
+CONVERTERS = pod2html pod2latex pod2man pod2text \
pod2usage podchecker podselect
HTMLROOT = / # Change this to fix cross-references in HTML
@@ -125,9 +125,9 @@ distclean: realclean
veryclean: distclean
-rm -f *~ *.orig
-check: checkpods
+check: podchecker
@echo "checking..."; \
- $(PERL) -I../lib checkpods $(POD)
+ $(PERL) -I../lib podchecker $(POD)
# Dependencies.
pod2latex: pod2latex.PL ../lib/Config.pm
@@ -142,9 +142,6 @@ pod2man: pod2man.PL ../lib/Config.pm
pod2text: pod2text.PL ../lib/Config.pm
$(LDLIBPTH) $(PERL) -I ../lib pod2text.PL
-checkpods: checkpods.PL ../lib/Config.pm
- $(LDLIBPTH) $(PERL) -I ../lib checkpods.PL
-
pod2usage: pod2usage.PL ../lib/Config.pm
$(PERL) -I ../lib pod2usage.PL
diff --git a/pod/buildtoc b/pod/buildtoc
index de88d8d693..4054fdac43 100644
--- a/pod/buildtoc
+++ b/pod/buildtoc
@@ -611,7 +611,7 @@ sub do_nmake {
1 while $makefile =~ s/\0\tcopy .*\n/\0/gm;
$makefile =~ s/\0+/join ("", &generate_nmake_1)/se;
- $makefile =~ s{(del /f [^\n]+checkpods[^\n]+).*?(pod2html)}
+ $makefile =~ s{(del /f [^\n]+podchecker[^\n]+).*?(pod2html)}
{"$1\n" . &generate_nmake_2."\n\t $2"}se;
$makefile;
}
diff --git a/pod/checkpods.PL b/pod/checkpods.PL
deleted file mode 100644
index 1466fb94d3..0000000000
--- a/pod/checkpods.PL
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/local/bin/perl
-
-use Config;
-use File::Basename qw(&basename &dirname);
-use Cwd;
-
-# List explicitly here the variables you want Configure to
-# generate. Metaconfig only looks for shell variables, so you
-# have to mention them as if they were shell variables, not
-# %Config entries. Thus you write
-# $startperl
-# to ensure Configure will look for $Config{startperl}.
-
-# This forces PL files to create target in same directory as PL file.
-# This is so that make depend always knows where to find PL derivatives.
-$origdir = cwd;
-chdir dirname($0);
-$file = basename($0, '.PL');
-$file .= '.com' if $^O eq 'VMS';
-
-open OUT,">$file" or die "Can't create $file: $!";
-
-print "Extracting $file (with variable substitutions)\n";
-
-# In this section, perl variables will be expanded during extraction.
-# You can use $Config{...} to use Configure variables.
-
-print OUT <<"!GROK!THIS!";
-$Config{startperl}
- eval 'exec $Config{perlpath} -S \$0 \${1+"\$@"}'
- if \$running_under_some_shell;
-!GROK!THIS!
-
-# In the following, perl variables are not expanded during extraction.
-
-print OUT <<'!NO!SUBS!';
-# From roderick@gate.netThu Sep 5 17:19:30 1996
-# Date: Thu, 05 Sep 1996 00:11:22 -0400
-# From: Roderick Schertler <roderick@gate.net>
-# To: perl5-porters@africa.nicoh.com
-# Subject: POD lines with only spaces
-#
-# There are some places in the documentation where a POD directive is
-# ignored because the line before it contains whitespace (and so the
-# directive doesn't start a paragraph). This patch adds a way to check
-# for these to the pod Makefile (though it isn't made part of the build
-# process, which would be a good idea), and fixes those places where the
-# problem currently exists.
-#
-# Version 1.00 Original.
-# Version 1.01 Andy Dougherty <doughera@lafayette.edu>
-# Trivial modifications to output format for easier auto-parsing
-# Broke it out as a separate function to avoid nasty
-# Make/Shell/Perl quoting problems, and also to make it easier
-# to grow. Someone will probably want to rewrite in terms of
-# some sort of Pod::Checker module. Or something. Consider this
-# a placeholder for the future.
-# Version 1.02 Roderick Schertler <roderick@argon.org>
-# Check for pod directives following any kind of unempty line, not
-# just lines of whitespace.
-
-@directive = qw(head1 head2 item over back cut pod for begin end);
-@directive{@directive} = (1) x @directive;
-
-$exit = $last_unempty = 0;
-while (<>) {
- s/(\012|\015\012|\015)$//;
- if (/^=(\S+)/ && $directive{$1} && $last_unempty) {
- printf "%s: line %5d, no blank line preceding directive =%s\n",
- $ARGV, $., $1;
- $exit = 1;
- }
- $last_unempty = ($_ ne '');
- if (eof) {
- close(ARGV);
- $last_unempty = 0;
- }
-}
-exit $exit
-!NO!SUBS!
-
-close OUT or die "Can't close $file: $!";
-chmod 0755, $file or die "Can't reset permissions for $file: $!\n";
-exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':';
-chdir $origdir;
diff --git a/pod/perl5110delta.pod b/pod/perl5110delta.pod
index 65cfb94c44..91b96822da 100644
--- a/pod/perl5110delta.pod
+++ b/pod/perl5110delta.pod
@@ -23,6 +23,15 @@ developement releases.
=head1 Selected Bug Fixes
+=over 4
+
+=item C<-I> on shebang line now adds directories in front of @INC
+
+as documented, and as does C<-I> when specified on the command-line.
+(Renée Bäcker)
+
+=back
+
=head1 New or Changed Diagnostics
=head1 Changed Internals
diff --git a/pod/perl590delta.pod b/pod/perl590delta.pod
index fdc6c314c1..db6f599597 100644
--- a/pod/perl590delta.pod
+++ b/pod/perl590delta.pod
@@ -485,8 +485,6 @@ of Perl in OS/400 PASE.
perlreref has been added: it is a regular expressions quick reference.
-=head1 Performance Enhancements
-
=head1 Installation and Configuration Improvements
The UNIX standard Perl location, F</usr/bin/perl>, is no longer
diff --git a/pod/perl595delta.pod b/pod/perl595delta.pod
index 96d061ac1a..246b2cc747 100644
--- a/pod/perl595delta.pod
+++ b/pod/perl595delta.pod
@@ -464,8 +464,6 @@ CSS. Some formatting problems were also corrected. (Jari Aalto)
A new manual page, L<perlunifaq> (the Perl Unicode FAQ), has been added
(Juerd Waalboer).
-=head1 Performance Enhancements
-
=head1 Installation and Configuration Improvements
=head2 C++ compatibility
@@ -563,10 +561,6 @@ an hash/array when the op is flagged with OPf_SPECIAL (Nicholas Clark).
=for p5p XXX new BIND SV type, #29544, #29642
-=head1 Known Problems
-
-=head2 Platform Specific Problems
-
=head1 Reporting Bugs
If you find what you think is a bug, you might check the articles
diff --git a/pod/perlebcdic.pod b/pod/perlebcdic.pod
index ca695a6e6d..ca4ef84408 100644
--- a/pod/perlebcdic.pod
+++ b/pod/perlebcdic.pod
@@ -73,7 +73,7 @@ E.g. CCSID 0037 may be referred to as 37 in places.
Perl can be compiled on platforms that run any of three commonly used EBCDIC
character sets, listed below.
-=head2 13 variant characters
+=head2 The 13 variant characters
Among IBM EBCDIC character code sets there are 13 characters that
are often mapped to different integer values. Those characters
diff --git a/pod/perlform.pod b/pod/perlform.pod
index 6bff194f92..3cfa1b768d 100644
--- a/pod/perlform.pod
+++ b/pod/perlform.pod
@@ -59,7 +59,7 @@ characters for field definitions:
X<format, picture line>
X<@> X<^> X<< < >> X<< | >> X<< > >> X<#> X<0> X<.> X<...>
X<@*> X<^*> X<~> X<~~>
-
+
@ start of regular field
^ start of special field
< pad character for left justification
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 82a80deca4..1d3823e574 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -2117,7 +2117,7 @@ C<Linux::Pid>.
X<getpriority> X<priority> X<nice>
Returns the current priority for a process, a process group, or a user.
-(See L<getpriority(2)>.) Will raise a fatal exception if used on a
+(See C<getpriority(2)>.) Will raise a fatal exception if used on a
machine that doesn't implement getpriority(2).
=item getpwnam NAME
@@ -3274,7 +3274,7 @@ See L<perliol> for detailed info on PerlIO.
You may also, in the Bourne shell tradition, specify an EXPR beginning
with C<< '>&' >>, in which case the rest of the string is interpreted
as the name of a filehandle (or file descriptor, if numeric) to be
-duped (as L<dup(2)>) and opened. You may use C<&> after C<< > >>,
+duped (as C<dup(2)>) and opened. You may use C<&> after C<< > >>,
C<<< >> >>>, C<< < >>, C<< +> >>, C<<< +>> >>>, and C<< +< >>.
The mode you specify should match the mode of the original filehandle.
(Duping a filehandle does not take into account any existing contents
@@ -3305,7 +3305,7 @@ C<STDERR> using various methods:
If you specify C<< '<&=X' >>, where C<X> is a file descriptor number
or a filehandle, then Perl will do an equivalent of C's C<fdopen> of
-that file descriptor (and not call L<dup(2)>); this is more
+that file descriptor (and not call C<dup(2)>); this is more
parsimonious of file descriptors. For example:
# open for input, reusing the fileno of $fd
@@ -3418,7 +3418,7 @@ but will not work on a filename which happens to have a trailing space, while
will have exactly the opposite restrictions.
-If you want a "real" C C<open> (see L<open(2)> on your system), then you
+If you want a "real" C C<open> (see C<open(2)> on your system), then you
should use the C<sysopen> function, which involves no such magic (but
may use subtly different filemodes than Perl open(), which is mapped
to C fopen()). This is
@@ -5561,7 +5561,7 @@ X<sprintf>
Returns a string formatted by the usual C<printf> conventions of the C
library function C<sprintf>. See below for more details
-and see L<sprintf(3)> or L<printf(3)> on your system for an explanation of
+and see C<sprintf(3)> or C<printf(3)> on your system for an explanation of
the general principles.
For example:
diff --git a/pod/perlguts.pod b/pod/perlguts.pod
index 58e866db62..3ce60d0599 100644
--- a/pod/perlguts.pod
+++ b/pod/perlguts.pod
@@ -1959,7 +1959,7 @@ sanctioned for use in extensions) begins like this:
void
Perl_sv_setiv(pTHX_ SV* dsv, IV num)
-C<pTHX_> is one of a number of macros (in perl.h) that hide the
+C<pTHX_> is one of a number of macros (in F<perl.h>) that hide the
details of the interpreter's context. THX stands for "thread", "this",
or "thingy", as the case may be. (And no, George Lucas is not involved. :-)
The first character could be 'p' for a B<p>rototype, 'a' for B<a>rgument,
@@ -2028,7 +2028,7 @@ built with PERL_IMPLICIT_CONTEXT enabled.
There are three ways to do this. First, the easy but inefficient way,
which is also the default, in order to maintain source compatibility
-with extensions: whenever XSUB.h is #included, it redefines the aTHX
+with extensions: whenever F<XSUB.h> is #included, it redefines the aTHX
and aTHX_ macros to call a function that will return the context.
Thus, something like:
@@ -2165,7 +2165,7 @@ This allows the ability to provide an extra pointer (called the "host"
environment) for all the system calls. This makes it possible for
all the system stuff to maintain their own state, broken down into
seven C structures. These are thin wrappers around the usual system
-calls (see win32/perllib.c) for the default perl executable, but for a
+calls (see F<win32/perllib.c>) for the default perl executable, but for a
more ambitious host (like the one that would do fork() emulation) all
the extra work needed to pretend that different interpreters are
actually different "processes", would be done here.
diff --git a/pod/perlhack.pod b/pod/perlhack.pod
index ef648e7776..dde67a3a59 100644
--- a/pod/perlhack.pod
+++ b/pod/perlhack.pod
@@ -207,23 +207,22 @@ interpreter. "A core module" is one that ships with Perl.
=head2 Keeping in sync
The source code to the Perl interpreter, in its different versions, is
-kept in a repository managed by a revision control system ( which is
-currently the Perforce program, see http://perforce.com/ ). The
-pumpkings and a few others have access to the repository to check in
-changes. Periodically the pumpking for the development version of Perl
-will release a new version, so the rest of the porters can see what's
-changed. The current state of the main trunk of repository, and patches
-that describe the individual changes that have happened since the last
-public release are available at this location:
+kept in a repository managed by the git revision control system. The
+pumpkings and a few others have write access to the repository to check in
+changes.
- http://public.activestate.com/pub/apc/
- ftp://public.activestate.com/pub/apc/
+How to clone and use the git perl repository is described in L<perlrepository>.
-If you're looking for a particular change, or a change that affected
-a particular set of files, you may find the B<Perl Repository Browser>
-useful:
+You can also choose to use rsync to get a copy of the current source tree
+for the bleadperl branch and all maintainance branches :
- http://public.activestate.com/cgi-bin/perlbrowse
+ $ rsync -avz rsync://perl5.git.perl.org/APC/perl-current .
+ $ rsync -avz rsync://perl5.git.perl.org/APC/perl-5.10.x .
+ $ rsync -avz rsync://perl5.git.perl.org/APC/perl-5.8.x .
+ $ rsync -avz rsync://perl5.git.perl.org/APC/perl-5.6.x .
+ $ rsync -avz rsync://perl5.git.perl.org/APC/perl-5.005xx .
+
+(Add the C<--delete> option to remove leftover files)
You may also want to subscribe to the perl5-changes mailing list to
receive a copy of each patch that gets submitted to the maintenance
@@ -240,334 +239,6 @@ Needless to say, the source code in perl-current is usually in a perpetual
state of evolution. You should expect it to be very buggy. Do B<not> use
it for any purpose other than testing and development.
-Keeping in sync with the most recent branch can be done in several ways,
-but the most convenient and reliable way is using B<rsync>, available at
-ftp://rsync.samba.org/pub/rsync/ . (You can also get the most recent
-branch by FTP.)
-
-If you choose to keep in sync using rsync, there are two approaches
-to doing so:
-
-=over 4
-
-=item rsync'ing the source tree
-
-Presuming you are in the directory where your perl source resides
-and you have rsync installed and available, you can "upgrade" to
-the bleadperl using:
-
- # rsync -avz rsync://public.activestate.com/perl-current/ .
-
-This takes care of updating every single item in the source tree to
-the latest applied patch level, creating files that are new (to your
-distribution) and setting date/time stamps of existing files to
-reflect the bleadperl status.
-
-Note that this will not delete any files that were in '.' before
-the rsync. Once you are sure that the rsync is running correctly,
-run it with the --delete and the --dry-run options like this:
-
- # rsync -avz --delete --dry-run rsync://public.activestate.com/perl-current/ .
-
-This will I<simulate> an rsync run that also deletes files not
-present in the bleadperl master copy. Observe the results from
-this run closely. If you are sure that the actual run would delete
-no files precious to you, you could remove the '--dry-run' option.
-
-You can than check what patch was the latest that was applied by
-looking in the file B<.patch>, which will show the number of the
-latest patch.
-
-If you have more than one machine to keep in sync, and not all of
-them have access to the WAN (so you are not able to rsync all the
-source trees to the real source), there are some ways to get around
-this problem.
-
-=over 4
-
-=item Using rsync over the LAN
-
-Set up a local rsync server which makes the rsynced source tree
-available to the LAN and sync the other machines against this
-directory.
-
-From http://rsync.samba.org/README.html :
-
- "Rsync uses rsh or ssh for communication. It does not need to be
- setuid and requires no special privileges for installation. It
- does not require an inetd entry or a daemon. You must, however,
- have a working rsh or ssh system. Using ssh is recommended for
- its security features."
-
-=item Using pushing over the NFS
-
-Having the other systems mounted over the NFS, you can take an
-active pushing approach by checking the just updated tree against
-the other not-yet synced trees. An example would be
-
- #!/usr/bin/perl -w
-
- use strict;
- use File::Copy;
-
- my %MF = map {
- m/(\S+)/;
- $1 => [ (stat $1)[2, 7, 9] ]; # mode, size, mtime
- } `cat MANIFEST`;
-
- my %remote = map { $_ => "/$_/pro/3gl/CPAN/perl-5.7.1" } qw(host1 host2);
-
- foreach my $host (keys %remote) {
- unless (-d $remote{$host}) {
- print STDERR "Cannot Xsync for host $host\n";
- next;
- }
- foreach my $file (keys %MF) {
- my $rfile = "$remote{$host}/$file";
- my ($mode, $size, $mtime) = (stat $rfile)[2, 7, 9];
- defined $size or ($mode, $size, $mtime) = (0, 0, 0);
- $size == $MF{$file}[1] && $mtime == $MF{$file}[2] and next;
- printf "%4s %-34s %8d %9d %8d %9d\n",
- $host, $file, $MF{$file}[1], $MF{$file}[2], $size, $mtime;
- unlink $rfile;
- copy ($file, $rfile);
- utime time, $MF{$file}[2], $rfile;
- chmod $MF{$file}[0], $rfile;
- }
- }
-
-though this is not perfect. It could be improved with checking
-file checksums before updating. Not all NFS systems support
-reliable utime support (when used over the NFS).
-
-=back
-
-=item rsync'ing the patches
-
-The source tree is maintained by the pumpking who applies patches to
-the files in the tree. These patches are either created by the
-pumpking himself using C<diff -c> after updating the file manually or
-by applying patches sent in by posters on the perl5-porters list.
-These patches are also saved and rsync'able, so you can apply them
-yourself to the source files.
-
-Presuming you are in a directory where your patches reside, you can
-get them in sync with
-
- # rsync -avz rsync://public.activestate.com/perl-current-diffs/ .
-
-This makes sure the latest available patch is downloaded to your
-patch directory.
-
-It's then up to you to apply these patches, using something like
-
- # last="`cat ../perl-current/.patch`.gz"
- # rsync -avz rsync://public.activestate.com/perl-current-diffs/ .
- # find . -name '*.gz' -newer $last -exec gzcat {} \; >blead.patch
- # cd ../perl-current
- # patch -p1 -N <../perl-current-diffs/blead.patch
-
-or, since this is only a hint towards how it works, use CPAN-patchaperl
-from Andreas König to have better control over the patching process.
-
-=back
-
-=head2 Why rsync the source tree
-
-=over 4
-
-=item It's easier to rsync the source tree
-
-Since you don't have to apply the patches yourself, you are sure all
-files in the source tree are in the right state.
-
-=item It's more reliable
-
-While both the rsync-able source and patch areas are automatically
-updated every few minutes, keep in mind that applying patches may
-sometimes mean careful hand-holding, especially if your version of
-the C<patch> program does not understand how to deal with new files,
-files with 8-bit characters, or files without trailing newlines.
-
-=back
-
-=head2 Why rsync the patches
-
-=over 4
-
-=item It's easier to rsync the patches
-
-If you have more than one machine that you want to keep in track with
-bleadperl, it's easier to rsync the patches only once and then apply
-them to all the source trees on the different machines.
-
-In case you try to keep in pace on 5 different machines, for which
-only one of them has access to the WAN, rsync'ing all the source
-trees should than be done 5 times over the NFS. Having
-rsync'ed the patches only once, I can apply them to all the source
-trees automatically. Need you say more ;-)
-
-=item It's a good reference
-
-If you do not only like to have the most recent development branch,
-but also like to B<fix> bugs, or extend features, you want to dive
-into the sources. If you are a seasoned perl core diver, you don't
-need no manuals, tips, roadmaps, perlguts.pod or other aids to find
-your way around. But if you are a starter, the patches may help you
-in finding where you should start and how to change the bits that
-bug you.
-
-The file B<Changes> is updated on occasions the pumpking sees as his
-own little sync points. On those occasions, he releases a tar-ball of
-the current source tree (i.e. perl@7582.tar.gz), which will be an
-excellent point to start with when choosing to use the 'rsync the
-patches' scheme. Starting with perl@7582, which means a set of source
-files on which the latest applied patch is number 7582, you apply all
-succeeding patches available from then on (7583, 7584, ...).
-
-You can use the patches later as a kind of search archive.
-
-=over 4
-
-=item Finding a start point
-
-If you want to fix/change the behaviour of function/feature Foo, just
-scan the patches for patches that mention Foo either in the subject,
-the comments, or the body of the fix. A good chance the patch shows
-you the files that are affected by that patch which are very likely
-to be the starting point of your journey into the guts of perl.
-
-=item Finding how to fix a bug
-
-If you've found I<where> the function/feature Foo misbehaves, but you
-don't know how to fix it (but you do know the change you want to
-make), you can, again, peruse the patches for similar changes and
-look how others apply the fix.
-
-=item Finding the source of misbehaviour
-
-When you keep in sync with bleadperl, the pumpking would love to
-I<see> that the community efforts really work. So after each of his
-sync points, you are to 'make test' to check if everything is still
-in working order. If it is, you do 'make ok', which will send an OK
-report to I<perlbug@perl.org>. (If you do not have access to a mailer
-from the system you just finished successfully 'make test', you can
-do 'make okfile', which creates the file C<perl.ok>, which you can
-than take to your favourite mailer and mail yourself).
-
-But of course, as always, things will not always lead to a success
-path, and one or more test do not pass the 'make test'. Before
-sending in a bug report (using 'make nok' or 'make nokfile'), check
-the mailing list if someone else has reported the bug already and if
-so, confirm it by replying to that message. If not, you might want to
-trace the source of that misbehaviour B<before> sending in the bug,
-which will help all the other porters in finding the solution.
-
-Here the saved patches come in very handy. You can check the list of
-patches to see which patch changed what file and what change caused
-the misbehaviour. If you note that in the bug report, it saves the
-one trying to solve it, looking for that point.
-
-=back
-
-If searching the patches is too bothersome, you might consider using
-perl's bugtron to find more information about discussions and
-ramblings on posted bugs.
-
-If you want to get the best of both worlds, rsync both the source
-tree for convenience, reliability and ease and rsync the patches
-for reference.
-
-=back
-
-=head2 Working with the source
-
-Because you cannot use the Perforce client, you cannot easily generate
-diffs against the repository, nor will merges occur when you update
-via rsync. If you edit a file locally and then rsync against the
-latest source, changes made in the remote copy will I<overwrite> your
-local versions!
-
-The best way to deal with this is to maintain a tree of symlinks to
-the rsync'd source. Then, when you want to edit a file, you remove
-the symlink, copy the real file into the other tree, and edit it. You
-can then diff your edited file against the original to generate a
-patch, and you can safely update the original tree.
-
-Perl's F<Configure> script can generate this tree of symlinks for you.
-The following example assumes that you have used rsync to pull a copy
-of the Perl source into the F<perl-rsync> directory. In the directory
-above that one, you can execute the following commands:
-
- mkdir perl-dev
- cd perl-dev
- ../perl-rsync/Configure -Dmksymlinks -Dusedevel -D"optimize=-g"
-
-This will start the Perl configuration process. After a few prompts,
-you should see something like this:
-
- Symbolic links are supported.
-
- Checking how to test for symbolic links...
- Your builtin 'test -h' may be broken.
- Trying external '/usr/bin/test -h'.
- You can test for symbolic links with '/usr/bin/test -h'.
-
- Creating the symbolic links...
- (First creating the subdirectories...)
- (Then creating the symlinks...)
-
-The specifics may vary based on your operating system, of course.
-After it's all done, you
-will see that the directory you are in has a tree of symlinks to the
-F<perl-rsync> directories and files.
-
-If you plan to do a lot of work with the Perl source, here are some
-Bourne shell script functions that can make your life easier:
-
- function edit {
- if [ -L $1 ]; then
- mv $1 $1.orig
- cp $1.orig $1
- vi $1
- else
- vi $1
- fi
- }
-
- function unedit {
- if [ -L $1.orig ]; then
- rm $1
- mv $1.orig $1
- fi
- }
-
-Replace "vi" with your favorite flavor of editor.
-
-Here is another function which will quickly generate a patch for the
-files which have been edited in your symlink tree:
-
- mkpatchorig() {
- local diffopts
- for f in `find . -name '*.orig' | sed s,^\./,,`
- do
- case `echo $f | sed 's,.orig$,,;s,.*\.,,'` in
- c) diffopts=-p ;;
- pod) diffopts='-F^=' ;;
- *) diffopts= ;;
- esac
- diff -du $diffopts $f `echo $f | sed 's,.orig$,,'`
- done
- }
-
-This function produces patches which include enough context to make
-your changes obvious. This makes it easier for the Perl pumpking(s)
-to review them when you send them to the perl5-porters list, and that
-means they're more likely to get applied.
-
-This function assumed a GNU diff, and may require some tweaking for
-other diff variants.
-
=head2 Perlbug administration
There is a single remote administrative interface for modifying bug status,
@@ -587,20 +258,14 @@ Always submit patches to I<perl5-porters@perl.org>. If you're
patching a core module and there's an author listed, send the author a
copy (see L<Patching a core module>). This lets other porters review
your patch, which catches a surprising number of errors in patches.
-Either use the diff program (available in source code form from
-ftp://ftp.gnu.org/pub/gnu/ , or use Johan Vromans' I<makepatch>
-(available from I<CPAN/authors/id/JV/>). Unified diffs are preferred,
-but context diffs are accepted. Do not send RCS-style diffs or diffs
-without context lines. More information is given in the
-I<Porting/patching.pod> file in the Perl source distribution. Please
-patch against the latest B<development> version. (e.g., even if you're
-fixing a bug in the 5.8 track, patch against the latest B<development>
-version rsynced from rsync://public.activestate.com/perl-current/ )
+Please patch against the latest B<development> version. (e.g., even if
+you're fixing a bug in the 5.8 track, patch against the C<blead> branch in
+the git repository.)
If changes are accepted, they are applied to the development branch. Then
-the 5.8 pumpking decides which of those patches is to be backported to the
-maint branch. Only patches that survive the heat of the development
-branch get applied to maintenance versions.
+the maintainance pumpking decides which of those patches is to be
+backported to the maint branch. Only patches that survive the heat of the
+development branch get applied to maintenance versions.
Your patch should update the documentation and test suite. See
L<Writing a test>. If you have added or removed files in the distribution,
@@ -3699,3 +3364,6 @@ is, after all, what it's for.
This document was written by Nathan Torkington, and is maintained by
the perl5-porters mailing list.
+=head1 SEE ALSO
+
+L<perlrepository>
diff --git a/pod/perlrepository.pod b/pod/perlrepository.pod
index 4c2a7c9926..f075213ade 100644
--- a/pod/perlrepository.pod
+++ b/pod/perlrepository.pod
@@ -32,7 +32,7 @@ the repository using the Git protocol (which uses port 9418):
git clone git://perl5.git.perl.org/perl.git perl-git
-This clones the repository and makes a local copy in the 'perl-git'
+This clones the repository and makes a local copy in the F<perl-git>
directory.
If your local network does not allow you to use port 9418, then you can
@@ -40,7 +40,7 @@ fetch a copy of the repository over HTTP (this is slower):
git clone http://perl5.git.perl.org/perl.git perl-http
-This clones the repository and makes a local copy in the 'perl-http'
+This clones the repository and makes a local copy in the F<perl-http>
directory.
=head2 WRITE ACCESS TO THE REPOSITORY
@@ -79,7 +79,7 @@ remote for ssh access:
% git remote add camel user@camel:/gitroot/perl.git
This allows you to update your local repository by pulling from
-C<origin>, which is faster and doesn't require you to authentify, and
+C<origin>, which is faster and doesn't require you to authenticate, and
to push your changes back with the C<camel> remote:
% git fetch camel
@@ -93,14 +93,13 @@ themselves should have been fetched when pulling from C<origin>.
Once you have changed into the repository directory, you can inspect
it.
-
After a clone the repository will contain a single local branch, which
will be the current branch as well, as indicated by the asterix.
% git branch
* blead
-Using the -a switch to branch will also show the remote tracking
+Using the -a switch to C<branch> will also show the remote tracking
branches in the repository:
% git branch -a
@@ -257,7 +256,7 @@ to Orange Brocard, we should change his name in the AUTHORS file:
You can see what files are changed:
% git status
- # On branch blead
+ # On branch orange
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
@@ -385,6 +384,11 @@ However, be aware this will delete ALL untracked content. You can use
to remove all ignored untracked files, such as build and test
byproduct, but leave any manually created files alone.
+If you only want to cancel some uncommitted edits, you can use
+C<git checkout> and give it a list of files to be reverted.
+
+If you want to cancel one or several commits, you can use C<git reset>.
+
=head1 BISECTING
C<git> provides a built-in way to determine, with a binary search in
@@ -456,7 +460,15 @@ tracking branch:
% git checkout --track -b maint-5.005 origin/maint-5.005
-This creates a local branch named maint-5.005, which tracks the remote
-branch origin/maint-5.005. Then you can pull, commit, merge and push as
+This creates a local branch named C<maint-5.005>, which tracks the remote
+branch C<origin/maint-5.005>. Then you can pull, commit, merge and push as
before.
+You can also cherry-pick commits from blead and another branch, by
+using the C<git cherry-pick> command. It is recommended to use the B<-x>
+option to C<git cherry-pick> in order to record the SHA1 of the original
+commit in the new commit message.
+
+=head1 SEE ALSO
+
+The git documentation, accessible via C<git help command>.
diff --git a/pod/perltodo.pod b/pod/perltodo.pod
index 71aa49d154..00effc392f 100644
--- a/pod/perltodo.pod
+++ b/pod/perltodo.pod
@@ -91,13 +91,6 @@ is needed to improve the cross-linking.
The addition of C<Pod::Simple> and its related modules may make this task
easier to complete.
-=head2 merge checkpods and podchecker
-
-F<pod/checkpods.PL> (and C<make check> in the F<pod/> subdirectory)
-implements a very basic check for pod files, but the errors it discovers
-aren't found by podchecker. Add this check to podchecker, get rid of
-checkpods and have C<make check> use podchecker.
-
=head2 Parallel testing
(This probably impacts much more than the core: also the Test::Harness
diff --git a/reentr.h b/reentr.h
index 05b06f8d5c..9715ef3e5c 100644
--- a/reentr.h
+++ b/reentr.h
@@ -798,17 +798,17 @@ typedef struct {
# undef asctime
# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SB
# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_B_SBI
# define asctime(a) asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SB
# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(asctime) && ASCTIME_R_PROTO == REENTRANT_PROTO_I_SBI
# define asctime(a) (asctime_r(a, PL_reentrant_buffer->_asctime_buffer, PL_reentrant_buffer->_asctime_size) == 0 ? PL_reentrant_buffer->_asctime_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ASCTIME */
+# endif
+# endif
#endif /* HAS_ASCTIME_R */
#ifdef HAS_CRYPT_R
@@ -816,11 +816,11 @@ typedef struct {
# undef crypt
# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCS
# define crypt(a, b) crypt_r(a, b, PL_reentrant_buffer->_crypt_struct_buffer)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(crypt) && CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD
# define crypt(a, b) crypt_r(a, b, &PL_reentrant_buffer->_crypt_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_CRYPT */
+# endif
+# endif
#endif /* HAS_CRYPT_R */
#ifdef HAS_CTERMID_R
@@ -828,8 +828,8 @@ typedef struct {
# undef ctermid
# if !defined(ctermid) && CTERMID_R_PROTO == REENTRANT_PROTO_B_B
# define ctermid(a) ctermid_r(a)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_CTERMID */
+# endif
+# endif
#endif /* HAS_CTERMID_R */
#ifdef HAS_CTIME_R
@@ -837,17 +837,17 @@ typedef struct {
# undef ctime
# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SB
# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_B_SBI
# define ctime(a) ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SB
# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(ctime) && CTIME_R_PROTO == REENTRANT_PROTO_I_SBI
# define ctime(a) (ctime_r(a, PL_reentrant_buffer->_ctime_buffer, PL_reentrant_buffer->_ctime_size) == 0 ? PL_reentrant_buffer->_ctime_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_CTIME */
+# endif
+# endif
#endif /* HAS_CTIME_R */
#ifdef HAS_DRAND48_R
@@ -855,8 +855,8 @@ typedef struct {
# undef drand48
# if !defined(drand48) && DRAND48_R_PROTO == REENTRANT_PROTO_I_ST
# define drand48() (drand48_r(&PL_reentrant_buffer->_drand48_struct, &PL_reentrant_buffer->_drand48_double) == 0 ? PL_reentrant_buffer->_drand48_double : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_DRAND48 */
+# endif
+# endif
#endif /* HAS_DRAND48_R */
#ifdef HAS_ENDGRENT_R
@@ -864,11 +864,11 @@ typedef struct {
# undef endgrent
# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_I_H
# define endgrent() (endgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(endgrent) && ENDGRENT_R_PROTO == REENTRANT_PROTO_V_H
# define endgrent() endgrent_r(&PL_reentrant_buffer->_grent_fptr)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDGRENT */
+# endif
+# endif
#endif /* HAS_ENDGRENT_R */
#ifdef HAS_ENDHOSTENT_R
@@ -876,11 +876,11 @@ typedef struct {
# undef endhostent
# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_I_D
# define endhostent() (endhostent_r(&PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(endhostent) && ENDHOSTENT_R_PROTO == REENTRANT_PROTO_V_D
# define endhostent() endhostent_r(&PL_reentrant_buffer->_hostent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDHOSTENT */
+# endif
+# endif
#endif /* HAS_ENDHOSTENT_R */
#ifdef HAS_ENDNETENT_R
@@ -888,11 +888,11 @@ typedef struct {
# undef endnetent
# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_I_D
# define endnetent() (endnetent_r(&PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(endnetent) && ENDNETENT_R_PROTO == REENTRANT_PROTO_V_D
# define endnetent() endnetent_r(&PL_reentrant_buffer->_netent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDNETENT */
+# endif
+# endif
#endif /* HAS_ENDNETENT_R */
#ifdef HAS_ENDPROTOENT_R
@@ -900,11 +900,11 @@ typedef struct {
# undef endprotoent
# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_I_D
# define endprotoent() (endprotoent_r(&PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(endprotoent) && ENDPROTOENT_R_PROTO == REENTRANT_PROTO_V_D
# define endprotoent() endprotoent_r(&PL_reentrant_buffer->_protoent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDPROTOENT */
+# endif
+# endif
#endif /* HAS_ENDPROTOENT_R */
#ifdef HAS_ENDPWENT_R
@@ -912,11 +912,11 @@ typedef struct {
# undef endpwent
# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_I_H
# define endpwent() (endpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(endpwent) && ENDPWENT_R_PROTO == REENTRANT_PROTO_V_H
# define endpwent() endpwent_r(&PL_reentrant_buffer->_pwent_fptr)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDPWENT */
+# endif
+# endif
#endif /* HAS_ENDPWENT_R */
#ifdef HAS_ENDSERVENT_R
@@ -924,11 +924,11 @@ typedef struct {
# undef endservent
# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_I_D
# define endservent() (endservent_r(&PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(endservent) && ENDSERVENT_R_PROTO == REENTRANT_PROTO_V_D
# define endservent() endservent_r(&PL_reentrant_buffer->_servent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_ENDSERVENT */
+# endif
+# endif
#endif /* HAS_ENDSERVENT_R */
#ifdef HAS_GETGRENT_R
@@ -936,23 +936,23 @@ typedef struct {
# undef getgrent
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBW
# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_S_SBI
# define getgrent() (getgrent_r(&PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrent) && GETGRENT_R_PROTO == REENTRANT_PROTO_I_SBIH
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETGRENT */
+# endif
+# endif
#endif /* HAS_GETGRENT_R */
#ifdef HAS_GETGRGID_R
@@ -960,17 +960,17 @@ typedef struct {
# undef getgrgid
# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBIR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_I_TSBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrgid) && GETGRGID_R_PROTO == REENTRANT_PROTO_S_TSBI
# define getgrgid(a) (getgrgid_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrgid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETGRGID */
+# endif
+# endif
#endif /* HAS_GETGRGID_R */
#ifdef HAS_GETGRNAM_R
@@ -978,20 +978,20 @@ typedef struct {
# undef getgrnam
# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CBI
# define getgrnam(a) (getgrnam_r(a, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? PL_reentrant_buffer->_grent_buffer : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getgrnam) && GETGRNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
# define getgrnam(a) (getgrnam_r(a, &PL_reentrant_buffer->_grent_struct, PL_reentrant_buffer->_grent_buffer, PL_reentrant_buffer->_grent_size) ? &PL_reentrant_buffer->_grent_struct : ((errno == ERANGE) ? (struct group *) Perl_reentrant_retry("getgrnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETGRNAM */
+# endif
+# endif
#endif /* HAS_GETGRNAM_R */
#ifdef HAS_GETHOSTBYADDR_R
@@ -999,38 +999,38 @@ typedef struct {
# undef gethostbyaddr
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISBWRE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBWIE
# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CWISBIE
# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TWISBIE
# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CIISBIE
# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_CSBIE
# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_S_TSBIE
# define gethostbyaddr(a, b, c) (gethostbyaddr_r(a, b, c, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? 1 : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyaddr", a, b, c) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CWISD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CIISD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_CII
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyaddr) && GETHOSTBYADDR_R_PROTO == REENTRANT_PROTO_I_TsISBWRE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETHOSTBYADDR */
+# endif
+# endif
#endif /* HAS_GETHOSTBYADDR_R */
#ifdef HAS_GETHOSTBYNAME_R
@@ -1038,14 +1038,14 @@ typedef struct {
# undef gethostbyname
# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBIE
# define gethostbyname(a) (gethostbyname_r(a, &PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostbyname) && GETHOSTBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETHOSTBYNAME */
+# endif
+# endif
#endif /* HAS_GETHOSTBYNAME_R */
#ifdef HAS_GETHOSTENT_R
@@ -1053,23 +1053,23 @@ typedef struct {
# undef gethostent
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBIE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBIE
# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size, &PL_reentrant_buffer->_hostent_errno) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_S_SBI
# define gethostent() (gethostent_r(&PL_reentrant_buffer->_hostent_struct, PL_reentrant_buffer->_hostent_buffer, PL_reentrant_buffer->_hostent_size) ? &PL_reentrant_buffer->_hostent_struct : ((errno == ERANGE) ? (struct hostent *) Perl_reentrant_retry("gethostent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gethostent) && GETHOSTENT_R_PROTO == REENTRANT_PROTO_I_SD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETHOSTENT */
+# endif
+# endif
#endif /* HAS_GETHOSTENT_R */
#ifdef HAS_GETLOGIN_R
@@ -1077,17 +1077,17 @@ typedef struct {
# undef getlogin
# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BW
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_I_BI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BW
# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getlogin) && GETLOGIN_R_PROTO == REENTRANT_PROTO_B_BI
# define getlogin() getlogin_r(PL_reentrant_buffer->_getlogin_buffer, PL_reentrant_buffer->_getlogin_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETLOGIN */
+# endif
+# endif
#endif /* HAS_GETLOGIN_R */
#ifdef HAS_GETNETBYADDR_R
@@ -1095,29 +1095,29 @@ typedef struct {
# undef getnetbyaddr
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_UISBWRE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_TISBI
# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_S_LISBI
# define getnetbyaddr(a, b) (getnetbyaddr_r(a, b, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyaddr", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_TISD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_LISD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_IISD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyaddr) && GETNETBYADDR_R_PROTO == REENTRANT_PROTO_I_uISBWRE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETNETBYADDR */
+# endif
+# endif
#endif /* HAS_GETNETBYADDR_R */
#ifdef HAS_GETNETBYNAME_R
@@ -1125,17 +1125,17 @@ typedef struct {
# undef getnetbyname
# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWRE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
# define getnetbyname(a) (getnetbyname_r(a, &PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetbyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetbyname) && GETNETBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETNETBYNAME */
+# endif
+# endif
#endif /* HAS_GETNETBYNAME_R */
#ifdef HAS_GETNETENT_R
@@ -1143,23 +1143,23 @@ typedef struct {
# undef getnetent
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBWRE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBIE
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBIE
# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size, &PL_reentrant_buffer->_netent_errno) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_S_SBI
# define getnetent() (getnetent_r(&PL_reentrant_buffer->_netent_struct, PL_reentrant_buffer->_netent_buffer, PL_reentrant_buffer->_netent_size) ? &PL_reentrant_buffer->_netent_struct : ((errno == ERANGE) ? (struct netent *) Perl_reentrant_retry("getnetent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getnetent) && GETNETENT_R_PROTO == REENTRANT_PROTO_I_SD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETNETENT */
+# endif
+# endif
#endif /* HAS_GETNETENT_R */
#ifdef HAS_GETPROTOBYNAME_R
@@ -1167,14 +1167,14 @@ typedef struct {
# undef getprotobyname
# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_S_CSBI
# define getprotobyname(a) (getprotobyname_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobyname", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getprotobyname) && GETPROTOBYNAME_R_PROTO == REENTRANT_PROTO_I_CSD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPROTOBYNAME */
+# endif
+# endif
#endif /* HAS_GETPROTOBYNAME_R */
#ifdef HAS_GETPROTOBYNUMBER_R
@@ -1182,14 +1182,14 @@ typedef struct {
# undef getprotobynumber
# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_S_ISBI
# define getprotobynumber(a) (getprotobynumber_r(a, &PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotobynumber", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getprotobynumber) && GETPROTOBYNUMBER_R_PROTO == REENTRANT_PROTO_I_ISD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPROTOBYNUMBER */
+# endif
+# endif
#endif /* HAS_GETPROTOBYNUMBER_R */
#ifdef HAS_GETPROTOENT_R
@@ -1197,17 +1197,17 @@ typedef struct {
# undef getprotoent
# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_S_SBI
# define getprotoent() (getprotoent_r(&PL_reentrant_buffer->_protoent_struct, PL_reentrant_buffer->_protoent_buffer, PL_reentrant_buffer->_protoent_size) ? &PL_reentrant_buffer->_protoent_struct : ((errno == ERANGE) ? (struct protoent *) Perl_reentrant_retry("getprotoent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getprotoent) && GETPROTOENT_R_PROTO == REENTRANT_PROTO_I_SD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPROTOENT */
+# endif
+# endif
#endif /* HAS_GETPROTOENT_R */
#ifdef HAS_GETPWENT_R
@@ -1215,23 +1215,23 @@ typedef struct {
# undef getpwent
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBW
# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_S_SBI
# define getpwent() (getpwent_r(&PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwent) && GETPWENT_R_PROTO == REENTRANT_PROTO_I_SBIH
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPWENT */
+# endif
+# endif
#endif /* HAS_GETPWENT_R */
#ifdef HAS_GETPWNAM_R
@@ -1239,17 +1239,17 @@ typedef struct {
# undef getpwnam
# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBIR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
# define getpwnam(a) (getpwnam_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwnam) && GETPWNAM_R_PROTO == REENTRANT_PROTO_I_CSBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPWNAM */
+# endif
+# endif
#endif /* HAS_GETPWNAM_R */
#ifdef HAS_GETPWUID_R
@@ -1257,17 +1257,17 @@ typedef struct {
# undef getpwuid
# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBIR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_I_TSBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getpwuid) && GETPWUID_R_PROTO == REENTRANT_PROTO_S_TSBI
# define getpwuid(a) (getpwuid_r(a, &PL_reentrant_buffer->_pwent_struct, PL_reentrant_buffer->_pwent_buffer, PL_reentrant_buffer->_pwent_size) ? &PL_reentrant_buffer->_pwent_struct : ((errno == ERANGE) ? (struct passwd *) Perl_reentrant_retry("getpwuid", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETPWUID */
+# endif
+# endif
#endif /* HAS_GETPWUID_R */
#ifdef HAS_GETSERVBYNAME_R
@@ -1275,14 +1275,14 @@ typedef struct {
# undef getservbyname
# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_S_CCSBI
# define getservbyname(a, b) (getservbyname_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyname", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getservbyname) && GETSERVBYNAME_R_PROTO == REENTRANT_PROTO_I_CCSD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETSERVBYNAME */
+# endif
+# endif
#endif /* HAS_GETSERVBYNAME_R */
#ifdef HAS_GETSERVBYPORT_R
@@ -1290,14 +1290,14 @@ typedef struct {
# undef getservbyport
# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_S_ICSBI
# define getservbyport(a, b) (getservbyport_r(a, b, &PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservbyport", a, b) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getservbyport) && GETSERVBYPORT_R_PROTO == REENTRANT_PROTO_I_ICSD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETSERVBYPORT */
+# endif
+# endif
#endif /* HAS_GETSERVBYPORT_R */
#ifdef HAS_GETSERVENT_R
@@ -1305,17 +1305,17 @@ typedef struct {
# undef getservent
# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SBI
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_S_SBI
# define getservent() (getservent_r(&PL_reentrant_buffer->_servent_struct, PL_reentrant_buffer->_servent_buffer, PL_reentrant_buffer->_servent_size) ? &PL_reentrant_buffer->_servent_struct : ((errno == ERANGE) ? (struct servent *) Perl_reentrant_retry("getservent") : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getservent) && GETSERVENT_R_PROTO == REENTRANT_PROTO_I_SD
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETSERVENT */
+# endif
+# endif
#endif /* HAS_GETSERVENT_R */
#ifdef HAS_GETSPNAM_R
@@ -1323,11 +1323,11 @@ typedef struct {
# undef getspnam
# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_I_CSBWR
# 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))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(getspnam) && GETSPNAM_R_PROTO == REENTRANT_PROTO_S_CSBI
# define getspnam(a) (getspnam_r(a, &PL_reentrant_buffer->_spent_struct, PL_reentrant_buffer->_spent_buffer, PL_reentrant_buffer->_spent_size) ? &PL_reentrant_buffer->_spent_struct : ((errno == ERANGE) ? (struct spwd *) Perl_reentrant_retry("getspnam", a) : 0))
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GETSPNAM */
+# endif
+# endif
#endif /* HAS_GETSPNAM_R */
#ifdef HAS_GMTIME_R
@@ -1335,11 +1335,11 @@ typedef struct {
# undef gmtime
# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_S_TS
# define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) ? &PL_reentrant_buffer->_gmtime_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(gmtime) && GMTIME_R_PROTO == REENTRANT_PROTO_I_TS
# define gmtime(a) (gmtime_r(a, &PL_reentrant_buffer->_gmtime_struct) == 0 ? &PL_reentrant_buffer->_gmtime_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_GMTIME */
+# endif
+# endif
#endif /* HAS_GMTIME_R */
#ifdef HAS_LOCALTIME_R
@@ -1347,11 +1347,11 @@ typedef struct {
# undef localtime
# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_S_TS
# define localtime(a) (L_R_TZSET localtime_r(a, &PL_reentrant_buffer->_localtime_struct) ? &PL_reentrant_buffer->_localtime_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(localtime) && LOCALTIME_R_PROTO == REENTRANT_PROTO_I_TS
# define localtime(a) (L_R_TZSET localtime_r(a, &PL_reentrant_buffer->_localtime_struct) == 0 ? &PL_reentrant_buffer->_localtime_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_LOCALTIME */
+# endif
+# endif
#endif /* HAS_LOCALTIME_R */
#ifdef HAS_RANDOM_R
@@ -1359,14 +1359,14 @@ typedef struct {
# undef random
# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
# define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
# define random() (random_r(&PL_reentrant_buffer->_random_retval, &PL_reentrant_buffer->_random_struct) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(random) && RANDOM_R_PROTO == REENTRANT_PROTO_I_St
# define random() (random_r(&PL_reentrant_buffer->_random_struct, &PL_reentrant_buffer->_random_retval) == 0 ? PL_reentrant_buffer->_random_retval : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_RANDOM */
+# endif
+# endif
#endif /* HAS_RANDOM_R */
#ifdef HAS_READDIR_R
@@ -1374,11 +1374,11 @@ typedef struct {
# undef readdir
# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TSR
# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct, &PL_reentrant_buffer->_readdir_ptr) == 0 ? PL_reentrant_buffer->_readdir_ptr : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(readdir) && READDIR_R_PROTO == REENTRANT_PROTO_I_TS
# define readdir(a) (readdir_r(a, PL_reentrant_buffer->_readdir_struct) == 0 ? PL_reentrant_buffer->_readdir_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_READDIR */
+# endif
+# endif
#endif /* HAS_READDIR_R */
#ifdef HAS_READDIR64_R
@@ -1386,11 +1386,11 @@ typedef struct {
# undef readdir64
# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TSR
# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct, &PL_reentrant_buffer->_readdir64_ptr) == 0 ? PL_reentrant_buffer->_readdir64_ptr : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(readdir64) && READDIR64_R_PROTO == REENTRANT_PROTO_I_TS
# define readdir64(a) (readdir64_r(a, PL_reentrant_buffer->_readdir64_struct) == 0 ? PL_reentrant_buffer->_readdir64_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_READDIR64 */
+# endif
+# endif
#endif /* HAS_READDIR64_R */
#ifdef HAS_SETGRENT_R
@@ -1398,11 +1398,11 @@ typedef struct {
# undef setgrent
# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_I_H
# define setgrent() (setgrent_r(&PL_reentrant_buffer->_grent_fptr) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(setgrent) && SETGRENT_R_PROTO == REENTRANT_PROTO_V_H
# define setgrent() setgrent_r(&PL_reentrant_buffer->_grent_fptr)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETGRENT */
+# endif
+# endif
#endif /* HAS_SETGRENT_R */
#ifdef HAS_SETHOSTENT_R
@@ -1410,11 +1410,11 @@ typedef struct {
# undef sethostent
# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_I_ID
# define sethostent(a) (sethostent_r(a, &PL_reentrant_buffer->_hostent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(sethostent) && SETHOSTENT_R_PROTO == REENTRANT_PROTO_V_ID
# define sethostent(a) sethostent_r(a, &PL_reentrant_buffer->_hostent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETHOSTENT */
+# endif
+# endif
#endif /* HAS_SETHOSTENT_R */
#ifdef HAS_SETLOCALE_R
@@ -1422,8 +1422,8 @@ typedef struct {
# undef setlocale
# if !defined(setlocale) && SETLOCALE_R_PROTO == REENTRANT_PROTO_I_ICBI
# define setlocale(a, b) (setlocale_r(a, b, PL_reentrant_buffer->_setlocale_buffer, PL_reentrant_buffer->_setlocale_size) == 0 ? PL_reentrant_buffer->_setlocale_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETLOCALE */
+# endif
+# endif
#endif /* HAS_SETLOCALE_R */
#ifdef HAS_SETNETENT_R
@@ -1431,11 +1431,11 @@ typedef struct {
# undef setnetent
# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_I_ID
# define setnetent(a) (setnetent_r(a, &PL_reentrant_buffer->_netent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(setnetent) && SETNETENT_R_PROTO == REENTRANT_PROTO_V_ID
# define setnetent(a) setnetent_r(a, &PL_reentrant_buffer->_netent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETNETENT */
+# endif
+# endif
#endif /* HAS_SETNETENT_R */
#ifdef HAS_SETPROTOENT_R
@@ -1443,11 +1443,11 @@ typedef struct {
# undef setprotoent
# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_I_ID
# define setprotoent(a) (setprotoent_r(a, &PL_reentrant_buffer->_protoent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(setprotoent) && SETPROTOENT_R_PROTO == REENTRANT_PROTO_V_ID
# define setprotoent(a) setprotoent_r(a, &PL_reentrant_buffer->_protoent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETPROTOENT */
+# endif
+# endif
#endif /* HAS_SETPROTOENT_R */
#ifdef HAS_SETPWENT_R
@@ -1455,11 +1455,11 @@ typedef struct {
# undef setpwent
# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_I_H
# define setpwent() (setpwent_r(&PL_reentrant_buffer->_pwent_fptr) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(setpwent) && SETPWENT_R_PROTO == REENTRANT_PROTO_V_H
# define setpwent() setpwent_r(&PL_reentrant_buffer->_pwent_fptr)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETPWENT */
+# endif
+# endif
#endif /* HAS_SETPWENT_R */
#ifdef HAS_SETSERVENT_R
@@ -1467,11 +1467,11 @@ typedef struct {
# undef setservent
# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_I_ID
# define setservent(a) (setservent_r(a, &PL_reentrant_buffer->_servent_data) == 0 ? 1 : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(setservent) && SETSERVENT_R_PROTO == REENTRANT_PROTO_V_ID
# define setservent(a) setservent_r(a, &PL_reentrant_buffer->_servent_data)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SETSERVENT */
+# endif
+# endif
#endif /* HAS_SETSERVENT_R */
#ifdef HAS_SRAND48_R
@@ -1479,8 +1479,8 @@ typedef struct {
# undef srand48
# if !defined(srand48) && SRAND48_R_PROTO == REENTRANT_PROTO_I_LS
# define srand48(a) (srand48_r(a, &PL_reentrant_buffer->_drand48_struct) == 0 ? &PL_reentrant_buffer->_drand48_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SRAND48 */
+# endif
+# endif
#endif /* HAS_SRAND48_R */
#ifdef HAS_SRANDOM_R
@@ -1488,8 +1488,8 @@ typedef struct {
# undef srandom
# if !defined(srandom) && SRANDOM_R_PROTO == REENTRANT_PROTO_I_TS
# define srandom(a) (srandom_r(a, &PL_reentrant_buffer->_srandom_struct) == 0 ? &PL_reentrant_buffer->_srandom_struct : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_SRANDOM */
+# endif
+# endif
#endif /* HAS_SRANDOM_R */
#ifdef HAS_STRERROR_R
@@ -1497,14 +1497,14 @@ typedef struct {
# undef strerror
# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBW
# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_I_IBI
# define strerror(a) (strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size) == 0 ? PL_reentrant_buffer->_strerror_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(strerror) && STRERROR_R_PROTO == REENTRANT_PROTO_B_IBW
# define strerror(a) strerror_r(a, PL_reentrant_buffer->_strerror_buffer, PL_reentrant_buffer->_strerror_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_STRERROR */
+# endif
+# endif
#endif /* HAS_STRERROR_R */
#ifdef HAS_TMPNAM_R
@@ -1512,8 +1512,8 @@ typedef struct {
# undef tmpnam
# if !defined(tmpnam) && TMPNAM_R_PROTO == REENTRANT_PROTO_B_B
# define tmpnam(a) tmpnam_r(a)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_TMPNAM */
+# endif
+# endif
#endif /* HAS_TMPNAM_R */
#ifdef HAS_TTYNAME_R
@@ -1521,14 +1521,14 @@ typedef struct {
# undef ttyname
# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBW
# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_I_IBI
# define ttyname(a) (ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size) == 0 ? PL_reentrant_buffer->_ttyname_buffer : 0)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+# endif
# if !defined(ttyname) && TTYNAME_R_PROTO == REENTRANT_PROTO_B_IBI
# define ttyname(a) ttyname_r(a, PL_reentrant_buffer->_ttyname_buffer, PL_reentrant_buffer->_ttyname_size)
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
-# endif /* HAS_TTYNAME */
+# endif
+# endif
#endif /* HAS_TTYNAME_R */
diff --git a/reentr.pl b/reentr.pl
index ea327a09fe..8cc4a5ec6c 100644
--- a/reentr.pl
+++ b/reentr.pl
@@ -751,13 +751,13 @@ EOF
EOF
}
}
- push @wrap, <<EOF;
-# endif /* if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1) */
+ push @wrap, <<EOF; # !defined(xxx) && XXX_R_PROTO == REENTRANT_PROTO_Y_TS
+# endif
EOF
}
- push @wrap, <<EOF;
-# endif /* HAS_\U$func */
+ push @wrap, <<EOF; # defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
+# endif
EOF
push @wrap, $endif, "\n";
diff --git a/t/run/switchI.t b/t/run/switchI.t
index 41192cd765..cfb0f6e949 100644
--- a/t/run/switchI.t
+++ b/t/run/switchI.t
@@ -15,11 +15,11 @@ my $Is_VMS = $^O eq 'VMS';
my $lib;
$lib = $Is_MacOS ? ':Bla:' : 'Bla';
-ok(grep { $_ eq $lib } @INC);
+ok(grep { $_ eq $lib } @INC[0..($#INC-1)]);
SKIP: {
skip 'Double colons not allowed in dir spec', 1 if $Is_VMS;
$lib = $Is_MacOS ? 'Foo::Bar:' : 'Foo::Bar';
- ok(grep { $_ eq $lib } @INC);
+ ok(grep { $_ eq $lib } @INC[0..($#INC-1)]);
}
$lib = $Is_MacOS ? ':Bla2:' : 'Bla2';
diff --git a/win32/Makefile b/win32/Makefile
index 10409994af..20e4b4ef8e 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -616,7 +616,6 @@ UTILS = \
..\utils\cpan2dist \
..\utils\shasum \
..\utils\instmodsh \
- ..\pod\checkpods \
..\pod\pod2html \
..\pod\pod2latex \
..\pod\pod2man \
@@ -1198,7 +1197,7 @@ distclean: realclean
-if exist $(LIBDIR)\threads rmdir /s /q $(LIBDIR)\threads
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
- -cd $(PODDIR) && del /f *.html *.bat checkpods \
+ -cd $(PODDIR) && del /f *.html *.bat podchecker \
perlaix.pod perlamiga.pod perlapollo.pod perlbeos.pod \
perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
perldelta.pod perldgux.pod perldos.pod perlepoc.pod \
diff --git a/win32/makefile.mk b/win32/makefile.mk
index 30f5459856..abf0f9e053 100644
--- a/win32/makefile.mk
+++ b/win32/makefile.mk
@@ -758,7 +758,6 @@ UTILS = \
..\utils\cpan2dist \
..\utils\shasum \
..\utils\instmodsh \
- ..\pod\checkpods \
..\pod\pod2html \
..\pod\pod2latex \
..\pod\pod2man \
@@ -1522,7 +1521,7 @@ distclean: realclean
-if exist $(LIBDIR)\threads rmdir /s /q $(LIBDIR)\threads
-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
- -cd $(PODDIR) && del /f *.html *.bat checkpods \
+ -cd $(PODDIR) && del /f *.html *.bat podchecker \
perlaix.pod perlamiga.pod perlapollo.pod perlbeos.pod \
perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
perldelta.pod perldgux.pod perldos.pod perlepoc.pod \
@@ -1535,7 +1534,7 @@ distclean: realclean
perltw.pod perluts.pod perlvmesa.pod perlvms.pod perlvms.pod \
perlvos.pod perlwin32.pod \
pod2html pod2latex pod2man pod2text pod2usage \
- podchecker podselect
+ podselect
-cd ..\utils && del /f h2ph splain perlbug pl2pm c2ph pstruct h2xs \
perldoc perlivp dprofpp libnetcfg enc2xs piconv cpan *.bat \
xsubpp instmodsh prove ptar ptardiff cpanp-run-perl cpanp cpan2dist shasum corelist config_data
diff --git a/win32/pod.mak b/win32/pod.mak
index 29330a1b9f..6f709f0370 100644
--- a/win32/pod.mak
+++ b/win32/pod.mak
@@ -1,4 +1,4 @@
-CONVERTERS = pod2html pod2latex pod2man pod2text checkpods \
+CONVERTERS = pod2html pod2latex pod2man pod2text \
pod2usage podchecker podselect
HTMLROOT = / # Change this to fix cross-references in HTML
@@ -553,9 +553,9 @@ realclean: clean
distclean: realclean
-check: checkpods
+check: podchecker
@echo "checking..."; \
- $(PERL) -I../lib checkpods $(POD)
+ $(PERL) -I../lib podchecker $(POD)
# Dependencies.
pod2latex: pod2latex.PL ../lib/Config.pm
@@ -570,9 +570,6 @@ pod2man: pod2man.PL ../lib/Config.pm
pod2text: pod2text.PL ../lib/Config.pm
$(PERL) -I ../lib pod2text.PL
-checkpods: checkpods.PL ../lib/Config.pm
- $(PERL) -I ../lib checkpods.PL
-
pod2usage: pod2usage.PL ../lib/Config.pm
$(PERL) -I ../lib pod2usage.PL