Software /
code /
prosody
Changeset
6681:0217a04722c7
util.datamanager: Fix traceback from trying to purge when storage is empty or otherwise unaccessible (fixes #496)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 13 May 2015 21:44:13 +0200 |
parents | 6680:ae34b12c4335 |
children | 6682:63f5870f9afe |
files | util/datamanager.lua |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/util/datamanager.lua Wed May 13 21:43:05 2015 +0200 +++ b/util/datamanager.lua Wed May 13 21:44:13 2015 +0200 @@ -348,8 +348,12 @@ function purge(username, host) local host_dir = format("%s/%s/", data_path, encode(host)); + local ok, iter, state, var = pcall(lfs.dir, host_dir); + if not ok then + return ok, iter; + end local errs = {}; - for file in lfs.dir(host_dir) do + for file in iter, state, var do if lfs.attributes(host_dir..file, "mode") == "directory" then local store = decode(file); local ok, err = do_remove(getpath(username, host, store));