From a7a2afdb0a51f28a716d34698152863c59eaf0ca Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Sat, 7 Jun 2008 07:58:35 +0000 Subject: [PATCH] * libs/uci: Fixed uci.delete_all * Fixed Freifunk wizard --- .../luci_ffwizard_leipzig/wizard.lua | 36 +++++++++---------- libs/uci/luasrc/model/uci.lua | 13 +++---- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/applications/luci-ffwizard-leipzig/luasrc/controller/luci_ffwizard_leipzig/wizard.lua b/applications/luci-ffwizard-leipzig/luasrc/controller/luci_ffwizard_leipzig/wizard.lua index 84a22238e..8a01f055c 100644 --- a/applications/luci-ffwizard-leipzig/luasrc/controller/luci_ffwizard_leipzig/wizard.lua +++ b/applications/luci-ffwizard-leipzig/luasrc/controller/luci_ffwizard_leipzig/wizard.lua @@ -195,29 +195,29 @@ function configure_freifunk() function (section) local device = section[".name"] - if luci.http.formvalue("wifi."..iface) then + if luci.http.formvalue("wifi."..device) then uci.delete_all("wireless", "wifi-iface", function (section) return (section.device == device) end) - end - - uci.tset("wireless", device, { - disabled = "0", - mode = "11g", - txantenna = "1", - rxantenna = "1", - channel = uci.get("freifunk", "community", "channel") - }) - uci.section("wireless", "wifi-iface", nil, { - device = iface, - network = "ff", - mode = "adhoc", - ssid = uci.get("freifunk", "community", "essid"), - bssid = uci.get("freifunk", "community", "bssid"), - txpower = 13 - }) + uci.tset("wireless", device, { + disabled = "0", + mode = "11g", + txantenna = "1", + rxantenna = "1", + channel = uci.get("freifunk", "community", "channel") + }) + + uci.section("wireless", "wifi-iface", nil, { + device = device, + network = "ff", + mode = "adhoc", + ssid = uci.get("freifunk", "community", "essid"), + bssid = uci.get("freifunk", "community", "bssid"), + txpower = 13 + }) + end end) end diff --git a/libs/uci/luasrc/model/uci.lua b/libs/uci/luasrc/model/uci.lua index 20bc0495c..bd6aba41a 100644 --- a/libs/uci/luasrc/model/uci.lua +++ b/libs/uci/luasrc/model/uci.lua @@ -27,6 +27,7 @@ local uci = require("uci") local util = require("luci.util") local setmetatable, rawget, rawset = setmetatable, rawget, rawset local error, pairs, ipairs, tostring = error, pairs, ipairs, tostring +local table, print = table, print module("luci.model.uci", function(m) setmetatable(m, {__index = uci}) end) @@ -37,16 +38,16 @@ savedir_state = "/var/state" function delete_all(config, type, comparator) local del = {} - - foreach(config, type, - function (section) + local function helper (section) if not comparator or comparator(section) then table.insert(del, section[".name"]) end - end) - + end + + foreach(config, type, helper) + for i, j in ipairs(del) do - uci.delete(config, j) + delete(config, j) end end -- 2.25.1