Xinqi Bao's Git

consistent calculation of ram_* on openbsd
[slstatus.git] / components / user.c
index ffbd945..8ab6db9 100644 (file)
@@ -1,6 +1,8 @@
 /* See LICENSE file for copyright and license details. */
 /* See LICENSE file for copyright and license details. */
+#include <errno.h>
 #include <pwd.h>
 #include <stdio.h>
 #include <pwd.h>
 #include <stdio.h>
+#include <string.h>
 #include <sys/types.h>
 #include <unistd.h>
 
 #include <sys/types.h>
 #include <unistd.h>
 
@@ -15,10 +17,10 @@ gid(void)
 const char *
 username(void)
 {
 const char *
 username(void)
 {
-       struct passwd *pw = getpwuid(geteuid());
+       struct passwd *pw;
 
 
-       if (pw == NULL) {
-               fprintf(stderr, "Failed to get username");
+       if (!(pw = getpwuid(geteuid()))) {
+               fprintf(stderr, "getpwuid '%d': %s\n", geteuid(), strerror(errno));
                return NULL;
        }
 
                return NULL;
        }