uuid plugin: make it work on FreeBSD
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Fri, 25 Dec 2015 10:14:01 +0000 (11:14 +0100)
committerRuben Kerkhof <ruben@rubenkerkhof.com>
Thu, 4 Aug 2016 09:22:40 +0000 (11:22 +0200)
src/uuid.c

index 9e9a7a3..816e624 100644 (file)
@@ -114,7 +114,7 @@ uuid_get_from_dmidecode(void)
     return (uuid);
 }
 
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__FreeBSD__)
 static char *
 uuid_get_from_sysctlbyname(const char *name)
 {
@@ -212,8 +212,10 @@ uuid_get_local(void)
 #if defined(__APPLE__)
     if ((uuid = uuid_get_from_sysctlbyname("kern.uuid")) != NULL)
         return (uuid);
-#endif
-#if defined(__linux__)
+#elif defined(__FreeBSD__)
+    if ((uuid = uuid_get_from_sysctlbyname("kern.hostuuid")) != NULL)
+        return (uuid);
+#elif defined(__linux__)
     if ((uuid = uuid_get_from_file("/sys/class/dmi/id/product_uuid")) != NULL)
         return (uuid);
 #endif