From: Steven Barth Date: Tue, 2 Sep 2008 09:02:20 +0000 (+0000) Subject: libs/uci: Optimized workaround X-Git-Tag: 0.8.0~191 X-Git-Url: https://git.archive.openwrt.org/?a=commitdiff_plain;h=bdf75b1e030c2ae96d9b89219bb09a5c78176a5a;p=project%2Fluci.git libs/uci: Optimized workaround --- diff --git a/libs/uci/luasrc/model/uci.lua b/libs/uci/luasrc/model/uci.lua index e26f9030a..82c76ced2 100644 --- a/libs/uci/luasrc/model/uci.lua +++ b/libs/uci/luasrc/model/uci.lua @@ -153,12 +153,14 @@ function Cursor.changes(self, config) if config then return Cursor._changes(self, config) else - local changes = {} - for k,v in pairs(require "luci.fs".dir(self:get_savedir())) do - if v ~= "." and v ~= ".." then - util.update(changes, Cursor._changes(self, v)) + local changes = Cursor._changes(self) + util.copcall(function() + for k,v in pairs(require "luci.fs".dir(self:get_savedir())) do + if v ~= "." and v ~= ".." then + util.update(changes, Cursor._changes(self, v)) + end end - end + end) return changes end end