luci-mod-status: realtime graph - find suffixed libiwinfo.so
authorHannu Nyman <hannu.nyman@iki.fi>
Sat, 9 Jan 2021 17:02:30 +0000 (19:02 +0200)
committerHannu Nyman <hannu.nyman@iki.fi>
Sat, 9 Jan 2021 17:02:30 +0000 (19:02 +0200)
Change the libiwinfo filename handling to match the current
version suffixed .so file.

Copy solution from bc121a5a4

Fixes #4721

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
modules/luci-mod-status/src/luci-bwc.c

index 6f7016ec9dd7c8a7d54b659c564bdaf4081448f4..b7682f9e21c2c946082958116b13762e8349ec78 100644 (file)
@@ -253,7 +253,21 @@ static void umap_file(struct file_map *m)
 
 static void * iw_open(void)
 {
-       return dlopen("/usr/lib/libiwinfo.so", RTLD_LAZY);
+       void *iwlib = NULL;
+       glob_t paths;
+       int i;
+
+       if (glob("/usr/lib/libiwinfo.so*", 0, NULL, &paths) != 0)
+               return NULL;
+
+       for (i = 0; i < paths.gl_pathc && !iwlib; i++)
+               iwlib = dlopen(paths.gl_pathv[i], RTLD_LAZY | RTLD_LOCAL);
+
+       globfree(&paths);
+
+       if (!iwlib)
+               return NULL;
+       return iwlib;
 }
 
 static int iw_update(