]> git.ipfire.org Git - people/ms/dma.git/blobdiff - util.c
Merge commit 'refs/merge-requests/3' of git://gitorious.org/dma/dma
[people/ms/dma.git] / util.c
diff --git a/util.c b/util.c
index 86312eb1fef25212115e23b1ceb39bae90c0fe47..a139b20d383166db75fd48f722f506509942f96f 100644 (file)
--- a/util.c
+++ b/util.c
@@ -51,6 +51,9 @@
 const char *
 hostname(void)
 {
+#ifndef HOST_NAME_MAX
+#define HOST_NAME_MAX  255
+#endif
        static char name[HOST_NAME_MAX+1];
        static int initialized = 0;
        char *s;
@@ -145,6 +148,7 @@ errlog(int exitcode, const char *fmt, ...)
                va_end(ap);
        }
 
+       errno = oerrno;
        if (*outs != 0) {
                syslog(LOG_ERR, "%s: %m", outs);
                fprintf(stderr, "%s: %s: %s\n", getprogname(), outs, strerror(oerrno));
@@ -198,21 +202,20 @@ void
 set_username(void)
 {
        struct passwd *pwd;
-       uid_t uid;
 
-       uid = getuid();
-       if (check_username(getlogin(), uid))
+       useruid = getuid();
+       if (check_username(getlogin(), useruid))
                return;
-       if (check_username(getenv("LOGNAME"), uid))
+       if (check_username(getenv("LOGNAME"), useruid))
                return;
-       if (check_username(getenv("USER"), uid))
+       if (check_username(getenv("USER"), useruid))
                return;
-       pwd = getpwuid(uid);
+       pwd = getpwuid(useruid);
        if (pwd != NULL && pwd->pw_name != NULL && pwd->pw_name[0] != '\0') {
-               if (check_username(pwd->pw_name, uid))
+               if (check_username(pwd->pw_name, useruid))
                        return;
        }
-       snprintf(username, sizeof(username), "uid=%ld", (long)uid);
+       snprintf(username, sizeof(username), "uid=%ld", (long)useruid);
 }
 
 void