Software /
code /
prosody
Comparison
util/datamanager.lua @ 1462:44780b856ce7
datamanager: Fixed incorrect callback result checking
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Thu, 02 Jul 2009 21:34:45 +0500 |
parent | 1381:46a58df8557d |
child | 1523:841d61be198f |
comparison
equal
deleted
inserted
replaced
1461:51f0202b0868 | 1462:44780b856ce7 |
---|---|
60 end | 60 end |
61 | 61 |
62 local function callback(username, host, datastore, data) | 62 local function callback(username, host, datastore, data) |
63 for _, f in ipairs(callbacks) do | 63 for _, f in ipairs(callbacks) do |
64 username, host, datastore, data = f(username, host, datastore, data); | 64 username, host, datastore, data = f(username, host, datastore, data); |
65 if not username then break; end | 65 if username == false then break; end |
66 end | 66 end |
67 | 67 |
68 return username, host, datastore, data; | 68 return username, host, datastore, data; |
69 end | 69 end |
70 function add_callback(func) | 70 function add_callback(func) |
121 if not data then | 121 if not data then |
122 data = {}; | 122 data = {}; |
123 end | 123 end |
124 | 124 |
125 username, host, datastore, data = callback(username, host, datastore, data); | 125 username, host, datastore, data = callback(username, host, datastore, data); |
126 if not username then | 126 if username == false then |
127 return true; -- Don't save this data at all | 127 return true; -- Don't save this data at all |
128 end | 128 end |
129 | 129 |
130 -- save the datastore | 130 -- save the datastore |
131 local f, msg = io_open(getpath(username, host, datastore, nil, true), "w+"); | 131 local f, msg = io_open(getpath(username, host, datastore, nil, true), "w+"); |
145 return true; | 145 return true; |
146 end | 146 end |
147 | 147 |
148 function list_append(username, host, datastore, data) | 148 function list_append(username, host, datastore, data) |
149 if not data then return; end | 149 if not data then return; end |
150 if callback and callback(username, host, datastore) then return true; end | 150 if callback(username, host, datastore) == false then return true; end |
151 -- save the datastore | 151 -- save the datastore |
152 local f, msg = io_open(getpath(username, host, datastore, "list", true), "a+"); | 152 local f, msg = io_open(getpath(username, host, datastore, "list", true), "a+"); |
153 if not f then | 153 if not f then |
154 log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..(username or "nil").."@"..(host or "nil")); | 154 log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..(username or "nil").."@"..(host or "nil")); |
155 return; | 155 return; |
163 | 163 |
164 function list_store(username, host, datastore, data) | 164 function list_store(username, host, datastore, data) |
165 if not data then | 165 if not data then |
166 data = {}; | 166 data = {}; |
167 end | 167 end |
168 if callback and callback(username, host, datastore) then return true; end | 168 if callback(username, host, datastore) == false then return true; end |
169 -- save the datastore | 169 -- save the datastore |
170 local f, msg = io_open(getpath(username, host, datastore, "list", true), "w+"); | 170 local f, msg = io_open(getpath(username, host, datastore, "list", true), "w+"); |
171 if not f then | 171 if not f then |
172 log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..(username or "nil").."@"..(host or "nil")); | 172 log("error", "Unable to write to "..datastore.." storage ('"..msg.."') for user: "..(username or "nil").."@"..(host or "nil")); |
173 return; | 173 return; |