diff options
-rw-r--r-- | applications/luci-olsr/luasrc/controller/olsr.lua | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/applications/luci-olsr/luasrc/controller/olsr.lua b/applications/luci-olsr/luasrc/controller/olsr.lua index d478df058d..577f596ca6 100644 --- a/applications/luci-olsr/luasrc/controller/olsr.lua +++ b/applications/luci-olsr/luasrc/controller/olsr.lua @@ -45,15 +45,18 @@ function action_index() end local function compare(a, b) - if tonumber(a.ETX) == 0 then + local c = tonumber(a.ETX) + local d = tonumber(b.ETX) + + if not c or c == 0 then return false end - if tonumber(b.ETX) == 0 then + if not d or d == 0 then return true end - return tonumber(a.ETX) < tonumber(b.ETX) + return c < d end table.sort(data.Links, compare) @@ -70,15 +73,18 @@ function action_routes() end local function compare(a, b) - if tonumber(a.ETX) == 0 then + local c = tonumber(a.ETX) + local d = tonumber(b.ETX) + + if not c or c == 0 then return false end - if tonumber(b.ETX) == 0 then + if not d or d == 0 then return true end - return tonumber(a.ETX) < tonumber(b.ETX) + return c < d end table.sort(data.Routes, compare) |