]> git.sur5r.net Git - i3/i3lock/commitdiff
removed the whoami function, replaced with an inline getpwuid call
authorMartin Stiborsky <martin.stiborsky@gmail.com>
Mon, 5 Jan 2015 18:54:48 +0000 (19:54 +0100)
committerMartin Stiborsky <martin.stiborsky@gmail.com>
Mon, 5 Jan 2015 18:54:48 +0000 (19:54 +0100)
i3lock.c

index fd32f97fc6c82fa628d69a46dc280b147f09f754..bead8841cd5aa1f4a20d3d815a69e53301b53dd8 100644 (file)
--- a/i3lock.c
+++ b/i3lock.c
@@ -9,6 +9,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <pwd.h>
+#include <sys/types.h>
 #include <string.h>
 #include <unistd.h>
 #include <stdbool.h>
@@ -659,18 +660,8 @@ static void raise_loop(xcb_window_t window) {
     }
 }
 
-char* whoami(void) {
-    uid_t uid = geteuid();
-    struct passwd *pw = getpwuid(uid);
-    if (pw) {
-        return pw->pw_name;
-     } else {
-        errx(EXIT_FAILURE, "Username not known!\n");
-     }
-}
-
 int main(int argc, char *argv[]) {
-    char *username = whoami();
+    char *username = getpwuid(getuid())->pw_name;
     char *image_path = NULL;
     int ret;
     struct pam_conv conv = {conv_callback, NULL};
@@ -695,6 +686,9 @@ int main(int argc, char *argv[]) {
         {NULL, no_argument, NULL, 0}
     };
 
+    if (username == NULL)
+        err(EXIT_FAILURE, "getpwuid() failed");
+
     char *optstring = "hvnbdc:p:ui:teI:f";
     while ((o = getopt_long(argc, argv, optstring, longopts, &optind)) != -1) {
         switch (o) {