summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'util.c')
-rw-r--r--util.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/util.c b/util.c
index 41c6784..80d5a80 100644
--- a/util.c
+++ b/util.c
@@ -24,6 +24,7 @@
#include <sys/types.h>
#include <string.h>
+#include <pwd.h>
/* glibc doesn't have strlcpy, strlcat. Ensure we do. JRA. We
* don't link to libreplace so need them here. */
@@ -69,3 +70,15 @@ size_t strlcat(char *d, const char *s, size_t bufsize)
}
#endif
+/* caller frees username if necessary */
+char *
+getusername(uid_t uid)
+{
+ char *username = NULL;
+ struct passwd *password = getpwuid(uid);
+
+ if (password)
+ username = password->pw_name;
+ return username;
+}
+