summaryrefslogtreecommitdiff
path: root/pp_sys.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-05-02 17:41:24 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-05-02 17:41:24 +0000
commit5cdabb00637dac511820ef15cf49e86f5e883771 (patch)
treef3e7118a7ef0b5373b7087194a9917f21a106e9c /pp_sys.c
parente9bdf8b6047e8d0ebda93cb2ae2027e860316c17 (diff)
downloadperl-5cdabb00637dac511820ef15cf49e86f5e883771.tar.gz
Call getspnam() only iff needed.
p4raw-id: //depot/cfgperl@6047
Diffstat (limited to 'pp_sys.c')
-rw-r--r--pp_sys.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/pp_sys.c b/pp_sys.c
index 765b0bc8ce..2f674839e5 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -4793,11 +4793,6 @@ PP(pp_gpwent)
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,12 +4815,13 @@ 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);
+ sv_setpv(sv, pwent->pw_passwd);
# endif
# ifndef INCOMPLETE_TAINTS
/* passwd is tainted because user himself can diddle with it. */