chiark / gitweb /
hostname-setup: also consider (Ε„one) an unset hostname
[elogind.git] / src / shared / util.c
index ae0ce320ad40b5bb0ac4cab909096a27bc7d315f..0234f3b483de6acd8f38e96553d455dcd02a0eb4 100644 (file)
@@ -2949,12 +2949,20 @@ char* gethostname_malloc(void) {
 
         assert_se(uname(&u) >= 0);
 
-        if (u.nodename[0])
+        if (!isempty(u.nodename) && !streq(u.nodename, "(none)"))
                 return strdup(u.nodename);
 
         return strdup(u.sysname);
 }
 
+bool hostname_is_set(void) {
+        struct utsname u;
+
+        assert_se(uname(&u) >= 0);
+
+        return !isempty(u.nodename) && !streq(u.nodename, "(none)");
+}
+
 char* getlogname_malloc(void) {
         uid_t uid;
         long bufsize;