Complex tweakery.
[p5sagit/p5-mst-13.2.git] / pp_sys.c
index 62b4b10..2f67483 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -4788,16 +4788,11 @@ PP(pp_gpwent)
 #   ifdef HAS_GETPWENT
        pwent  = getpwent();
 #   else
-       DIE(aTHX_ PL_no_fun, "getpwent");
+       DIE(aTHX_ PL_no_func, "getpwent");
 #   endif
        break;
     }
 
-#   ifdef HAS_GETSPNAM
-    if (GIMME != G_ARRAY && pwent)
-       spwent = getspnam(pwent->pw_name);
-#   endif
-
     EXTEND(SP, 10);
     if (GIMME != G_ARRAY) {
        PUSHs(sv = sv_newmortal());
@@ -4820,10 +4815,11 @@ PP(pp_gpwent)
 
        PUSHs(sv = sv_mortalcopy(&PL_sv_no));
 #   ifdef HAS_GETSPNAM
-      if (spwent)
-              sv_setpv(sv, spwent->sp_pwdp);
-      else
-              sv_setpv(sv, pwent->pw_passwd);
+       spwent = getspnam(pwent->pw_name);
+       if (spwent)
+           sv_setpv(sv, spwent->sp_pwdp);
+       else
+           sv_setpv(sv, pwent->pw_passwd);
 #   else
        sv_setpv(sv, pwent->pw_passwd);
 #   endif
@@ -4853,8 +4849,9 @@ PP(pp_gpwent)
 #       ifdef PWQUOTA
        sv_setiv(sv, (IV)pwent->pw_quota);
 #       else
-#       ifdef PWAGE
+#           ifdef PWAGE
        sv_setpv(sv, pwent->pw_age);
+#           endif
 #       endif
 #   endif