#include "c.h"
#include <pwd.h>
Go to the source code of this file.
◆ pg_get_user_home_dir()
bool pg_get_user_home_dir |
( |
uid_t |
user_id, |
|
|
char * |
buffer, |
|
|
size_t |
buflen |
|
) |
| |
Definition at line 121 of file thread.c.
124 struct passwd pwdstr;
125 struct passwd *pw = NULL;
128 pwerr =
pqGetpwuid(user_id, &pwdstr, pwdbuf,
sizeof(pwdbuf), &pw);
131 strlcpy(buffer, pw->pw_dir, buflen);
136 _(
"could not look up local user ID %d: %s"),
141 _(
"local user with ID %d does not exist"),
size_t strlcpy(char *dst, const char *src, size_t siz)
static int pqGetpwuid(uid_t uid, struct passwd *resultbuf, char *buffer, size_t buflen, struct passwd **result)
References _, pqGetpwuid(), snprintf, strerror_r, and strlcpy().
Referenced by get_home_path(), and pqGetHomeDirectory().
◆ pg_get_user_name()
bool pg_get_user_name |
( |
uid_t |
user_id, |
|
|
char * |
buffer, |
|
|
size_t |
buflen |
|
) |
| |
Definition at line 85 of file thread.c.
89 struct passwd *pw = NULL;
92 pwerr =
pqGetpwuid(user_id, &pwdstr, pwdbuf,
sizeof(pwdbuf), &pw);
95 strlcpy(buffer, pw->pw_name, buflen);
100 _(
"could not look up local user ID %d: %s"),
105 _(
"local user with ID %d does not exist"),
References _, pqGetpwuid(), snprintf, strerror_r, and strlcpy().
Referenced by pg_fe_getusername().
◆ pqGetpwuid()
static int pqGetpwuid |
( |
uid_t |
uid, |
|
|
struct passwd * |
resultbuf, |
|
|
char * |
buffer, |
|
|
size_t |
buflen, |
|
|
struct passwd ** |
result |
|
) |
| |
|
static |
Definition at line 63 of file thread.c.
66 #if defined(FRONTEND) && defined(ENABLE_THREAD_SAFETY) && defined(HAVE_GETPWUID_R)
67 return getpwuid_r(uid, resultbuf, buffer, buflen, result);
71 *result = getpwuid(uid);
73 return (*result == NULL) ? errno : 0;
Referenced by pg_get_user_home_dir(), and pg_get_user_name().