From dc81fda059474061eda138dd628c98dafc6043b5 Mon Sep 17 00:00:00 2001 From: Matthias Date: Wed, 13 Jan 2016 13:13:24 +0100 Subject: [PATCH] omit station-dump if no IBSS-interface is present In case no interface of type IBSS is found, the array interfaces is empty, nevertheless the for-loop iterates once (with empty values) causing the system-call to iw to fail. Check interfaces before the loop to avoid garbage-output from iw on the status-page if meshing on wifi is deactivated. --- .../lib/gluon/status-page/www/cgi-bin/status | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/package/gluon-status-page/files/lib/gluon/status-page/www/cgi-bin/status b/package/gluon-status-page/files/lib/gluon/status-page/www/cgi-bin/status index ea520e22..b7436d27 100755 --- a/package/gluon-status-page/files/lib/gluon/status-page/www/cgi-bin/status +++ b/package/gluon-status-page/files/lib/gluon/status-page/www/cgi-bin/status @@ -73,20 +73,22 @@ io.write("

Neighbours

") local interfaces = util.split(util.trim(util.exec("iw dev | egrep 'type IBSS|type mesh' -B 5 | grep Interface | cut -d' ' -f2"))) -for _, ifname in ipairs(interfaces) do - io.write("

" .. escape_html(ifname) .. "

") - io.write("
")
+if interfaces ~= {} then
+  for _, ifname in ipairs(interfaces) do
+    io.write("

" .. escape_html(ifname) .. "

") + io.write("
")
 
-  for _, line in ipairs(util.split(util.exec("iw dev " .. ifname .. " station dump"))) do
-    local mac = line:match("^Station (.*) %(on ")
-    if mac then
-      io.write("Station " .. mac .. " (on " .. escape_html(ifname) .. ")\n")
-    else
-      io.write(escape_html(line) .. "\n")
+    for _, line in ipairs(util.split(util.exec("iw dev " .. ifname .. " station dump"))) do
+      local mac = line:match("^Station (.*) %(on ")
+      if mac then
+        io.write("Station " .. mac .. " (on " .. escape_html(ifname) .. ")\n")
+      else
+        io.write(escape_html(line) .. "\n")
+      end
     end
-  end
 
-  io.write("
") + io.write("
") + end end local stat, fastd_status = pcall(