getpwent() & POSIX-BC/BS2000 problem
Roca Carrio, Ignasi (PO EP) [Fri, 14 Jun 2002 10:07:28 +0000 (12:07 +0200)]
From: "Roca Carrio, Ignasi (PO EP)" <Ignasi.Roca@fujitsu-siemens.com>
Message-ID: <318B95F90D8BD41194A5009027FD5FFBD7A3D8@madrid14.mad.fsc.net>

p4raw-id: //depot/perl@17235

pp_sys.c

index 200ed94..88f45c3 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -5212,6 +5212,9 @@ PP(pp_gpwent)
     case OP_GPWENT:
 #   ifdef HAS_GETPWENT
        pwent  = getpwent();
+#ifdef POSIX_BC   /* In some cases pw_passwd has invalid addresses */
+       if (pwent) pwent = getpwnam(pwent->pw_name);
+#endif
 #   else
        DIE(aTHX_ PL_no_func, "getpwent");
 #   endif