Only check errno if getpwuid() fails - slock - simple X display locker utility
 (HTM) git clone git://git.suckless.org/slock
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 8745098fa440ef3bf1d8e173dcd91514b34600c6
 (DIR) parent 9db14b10dd09336c6a8fe283f99108c9acc4667a
 (HTM) Author: sin <sin@2f30.org>
       Date:   Wed,  9 Jul 2014 14:40:49 +0100
       
       Only check errno if getpwuid() fails
       
       Checking errno otherwise is unspecified.
       
       Diffstat:
         M slock.c                             |      10 ++++++----
       
       1 file changed, 6 insertions(+), 4 deletions(-)
       ---
 (DIR) diff --git a/slock.c b/slock.c
       @@ -67,10 +67,12 @@ getpw(void) { /* only run as root */
        
                errno = 0;
                pw = getpwuid(getuid());
       -        if (errno)
       -                die("slock: getpwuid: %s\n", strerror(errno));
       -        else if (!pw)
       -                die("slock: cannot retrieve password entry (make sure to suid or sgid slock)\n");
       +        if (!pw) {
       +                if (errno)
       +                        die("slock: getpwuid: %s\n", strerror(errno));
       +                else
       +                        die("slock: cannot retrieve password entry (make sure to suid or sgid slock)\n");
       +        }
                endpwent();
                rval =  pw->pw_passwd;