nwc10+ (Nicholas Clark)
2007-02-12 18:30:06 UTC
Change 30235 by ***@nicholas-saigo on 2007/02/12 18:25:07
Integrate:
[ 24458]
Fix from Steve Peters
[ 24464]
Subject: RE: 5.8.7-tobe fails to compile on AIX 4.3.3
From: "Jan Dubois" <***@ActiveState.com>
Message-Id: <***@smtp3.ActiveState.com>
Date: Fri, 13 May 2005 12:21:40 -0700
and then regenerate reentr.h, with the , no longer inside
REENTR_MEMZERO(). This keeps macros looking like functions.
Affected files ...
... //depot/perl/reentr.h#33 edit
... //depot/perl/reentr.pl#52 integrate
Differences ...
==== //depot/perl/reentr.h#33 (text+w) ====
Index: perl/reentr.h
--- perl/reentr.h#32~29747~ 2007-01-10 08:00:17.000000000 -0800
+++ perl/reentr.h 2007-02-12 10:25:07.000000000 -0800
@@ -63,9 +63,9 @@
* memzero out certain structures before calling the functions.
*/
#if defined(__OpenBSD__)
-# define REENTR_MEMZERO(a,b) memzero(a,b),
+# define REENTR_MEMZERO(a,b) memzero(a,b)
#else
-# define REENTR_MEMZERO(a,b)
+# define REENTR_MEMZERO(a,b) 0
#endif
#ifdef NETDB_R_OBSOLETE
@@ -1172,7 +1172,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETPROTOBYNAME_R */
@@ -1187,7 +1187,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETPROTOBYNUMBER_R */
@@ -1205,7 +1205,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETPROTOENT_R */
@@ -1280,7 +1280,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETSERVBYNAME_R */
@@ -1295,7 +1295,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETSERVBYPORT_R */
@@ -1313,7 +1313,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETSERVENT_R */
==== //depot/perl/reentr.pl#52 (text) ====
Index: perl/reentr.pl
--- perl/reentr.pl#51~29704~ 2007-01-05 22:58:41.000000000 -0800
+++ perl/reentr.pl 2007-02-12 10:25:07.000000000 -0800
@@ -110,9 +110,9 @@
* memzero out certain structures before calling the functions.
*/
#if defined(__OpenBSD__)
-# define REENTR_MEMZERO(a,b) memzero(a,b),
+# define REENTR_MEMZERO(a,b) memzero(a,b)
#else
-# define REENTR_MEMZERO(a,b)
+# define REENTR_MEMZERO(a,b) 0
#endif
#ifdef NETDB_R_OBSOLETE
@@ -725,7 +725,7 @@
my $memzero = '';
if($p =~ /D$/ &&
($genfunc eq 'protoent' || $genfunc eq 'servent')) {
- $memzero = 'REENTR_MEMZERO(&PL_reentrant_buffer->_' . $genfunc . '_data, sizeof(PL_reentrant_buffer->_' . $genfunc . '_data))';
+ $memzero = 'REENTR_MEMZERO(&PL_reentrant_buffer->_' . $genfunc . '_data, sizeof(PL_reentrant_buffer->_' . $genfunc . '_data)),';
}
push @wrap, <<EOF;
# if !defined($func) && ${FUNC}_R_PROTO == REENTRANT_PROTO_$p
End of Patch.
Integrate:
[ 24458]
Fix from Steve Peters
[ 24464]
Subject: RE: 5.8.7-tobe fails to compile on AIX 4.3.3
From: "Jan Dubois" <***@ActiveState.com>
Message-Id: <***@smtp3.ActiveState.com>
Date: Fri, 13 May 2005 12:21:40 -0700
and then regenerate reentr.h, with the , no longer inside
REENTR_MEMZERO(). This keeps macros looking like functions.
Affected files ...
... //depot/perl/reentr.h#33 edit
... //depot/perl/reentr.pl#52 integrate
Differences ...
==== //depot/perl/reentr.h#33 (text+w) ====
Index: perl/reentr.h
--- perl/reentr.h#32~29747~ 2007-01-10 08:00:17.000000000 -0800
+++ perl/reentr.h 2007-02-12 10:25:07.000000000 -0800
@@ -63,9 +63,9 @@
* memzero out certain structures before calling the functions.
*/
#if defined(__OpenBSD__)
-# define REENTR_MEMZERO(a,b) memzero(a,b),
+# define REENTR_MEMZERO(a,b) memzero(a,b)
#else
-# define REENTR_MEMZERO(a,b)
+# define REENTR_MEMZERO(a,b) 0
#endif
#ifdef NETDB_R_OBSOLETE
@@ -1172,7 +1172,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETPROTOBYNAME_R */
@@ -1187,7 +1187,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETPROTOBYNUMBER_R */
@@ -1205,7 +1205,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETPROTOENT_R */
@@ -1280,7 +1280,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETSERVBYNAME_R */
@@ -1295,7 +1295,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETSERVBYPORT_R */
@@ -1313,7 +1313,7 @@
# 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) */
# 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))
+# 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 /* HAS_GETSERVENT_R */
==== //depot/perl/reentr.pl#52 (text) ====
Index: perl/reentr.pl
--- perl/reentr.pl#51~29704~ 2007-01-05 22:58:41.000000000 -0800
+++ perl/reentr.pl 2007-02-12 10:25:07.000000000 -0800
@@ -110,9 +110,9 @@
* memzero out certain structures before calling the functions.
*/
#if defined(__OpenBSD__)
-# define REENTR_MEMZERO(a,b) memzero(a,b),
+# define REENTR_MEMZERO(a,b) memzero(a,b)
#else
-# define REENTR_MEMZERO(a,b)
+# define REENTR_MEMZERO(a,b) 0
#endif
#ifdef NETDB_R_OBSOLETE
@@ -725,7 +725,7 @@
my $memzero = '';
if($p =~ /D$/ &&
($genfunc eq 'protoent' || $genfunc eq 'servent')) {
- $memzero = 'REENTR_MEMZERO(&PL_reentrant_buffer->_' . $genfunc . '_data, sizeof(PL_reentrant_buffer->_' . $genfunc . '_data))';
+ $memzero = 'REENTR_MEMZERO(&PL_reentrant_buffer->_' . $genfunc . '_data, sizeof(PL_reentrant_buffer->_' . $genfunc . '_data)),';
}
push @wrap, <<EOF;
# if !defined($func) && ${FUNC}_R_PROTO == REENTRANT_PROTO_$p
End of Patch.