]> git.ipfire.org Git - thirdparty/lldpd.git/commitdiff
lldpd: also try /usr/lib/os-release if /etc/os-release is not present
authorVincent Bernat <vincent@bernat.im>
Mon, 6 Oct 2014 10:08:14 +0000 (12:08 +0200)
committerVincent Bernat <vincent@bernat.im>
Mon, 6 Oct 2014 10:08:14 +0000 (12:08 +0200)
Usually, `/etc/os-release` is a symlink to `/usr/lib/os-release` but on
some of them, programs are expected to fallback to
`/usr/lib/os-release`.

src/daemon/lldpd.c

index 33a85a3eccb0f922d29beee873efece26a75177d..80a6ab5bb4c8bf4d667a7170e7fb24d429e316ab 100644 (file)
@@ -718,10 +718,15 @@ lldpd_get_os_release() {
        char *key, *val;
        char *ptr1 = release;
 
-       FILE *fp = fopen("/etc/os-release", "r");
        log_debug("localchassis", "grab OS release");
+       FILE *fp = fopen("/etc/os-release", "r");
+       if (!fp) {
+               log_debug("localchassis", "could not open /etc/os-release");
+               fp = fopen("/usr/lib/os-release", "r");
+       }
        if (!fp) {
-               log_info("localchassis", "could not open /etc/os-release");
+               log_info("localchassis",
+                   "could not open either /etc/os-release or /usr/lib/os-release");
                return NULL;
        }