some error handling for fs.dir(...) == nil
[project/luci.git] / applications / luci-statistics / luasrc / statistics / datatree.lua
index e3c9e34..327b8ef 100644 (file)
@@ -4,7 +4,7 @@ local util = require("luci.util")
 local sys  = require("luci.sys")
 local fs   = require("luci.fs")
 local uci  = require("luci.model.uci").Session()
-local sections, names = uci:sections( "luci_statistics" )
+local sections = uci:sections( "luci_statistics" )
 
 
 Instance = util.class()
@@ -44,7 +44,11 @@ function Instance._notzero( self, table )
 end
 
 function Instance._scan( self )
-       for i, plugin in ipairs( fs.dir( self._libdir ) ) do
+       local dir = fs.dir( self._libdir )
+       if not dir then
+               return
+       end
+       for i, plugin in ipairs( dir ) do
                if plugin:match("%w+.so") then
                        self._plugins[ plugin:gsub(".so", "") ] = { }
                end