aboutsummaryrefslogtreecommitdiff
path: root/src/util/profile/prof_file.c
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2004-06-04 20:28:39 +0000
committerKen Raeburn <raeburn@mit.edu>2004-06-04 20:28:39 +0000
commit141482616bd7019c763b54afad65601f291fb395 (patch)
tree3244f67c2074c88b27dc7472831b8f3c043521f0 /src/util/profile/prof_file.c
parent6a6daa318ddbd6ed2b8a39948d66c8b5ac882532 (diff)
downloadkrb5-141482616bd7019c763b54afad65601f291fb395.zip
krb5-141482616bd7019c763b54afad65601f291fb395.tar.gz
krb5-141482616bd7019c763b54afad65601f291fb395.tar.bz2
* prof_file.c (profile_open_file): Handle earlier (draft POSIX) specifications
of getpwuid_r. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16408 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util/profile/prof_file.c')
-rw-r--r--src/util/profile/prof_file.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/util/profile/prof_file.c b/src/util/profile/prof_file.c
index c0cbbbd..8754328 100644
--- a/src/util/profile/prof_file.c
+++ b/src/util/profile/prof_file.c
@@ -150,13 +150,17 @@ errcode_t profile_open_file(const_profile_filespec_t filespec,
#endif
uid = getuid();
-#ifdef HAVE_GETPWUID_R
+#ifndef HAVE_GETPWUID_R
+ pw = getpwuid(uid);
+#elif defined(GETPWUID_R_4_ARGS)
+ /* earlier POSIX drafts */
+ pw = getpwuid_r(uid, &pwx, pwbuf, sizeof(pwbuf));
+#else
+ /* POSIX */
if (getpwuid_r(uid, &pwx, pwbuf, sizeof(pwbuf), &pw) != 0)
/* Probably already null, but let's make sure. */
pw = NULL;
-#else
- pw = getpwuid(uid);
-#endif
+#endif /* getpwuid variants */
if (pw != NULL && pw->pw_dir[0] != 0)
home_env = pw->pw_dir;
}