aboutsummaryrefslogtreecommitdiff
path: root/src/mod_muc_log.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-05-05 11:11:17 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-05-05 11:11:17 +0300
commitb174e2c9c6177e3bdac8edaa8f60d861a2631933 (patch)
tree2876909e33266808fb7409b11b6686823beaaa82 /src/mod_muc_log.erl
parentMake it possible to validate second-level options (diff)
Improve validation of second-level options
Diffstat (limited to '')
-rw-r--r--src/mod_muc_log.erl14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mod_muc_log.erl b/src/mod_muc_log.erl
index 820cbd3bd..45ee645fc 100644
--- a/src/mod_muc_log.erl
+++ b/src/mod_muc_log.erl
@@ -1185,11 +1185,13 @@ mod_opt_type(file_format) ->
end;
mod_opt_type(file_permissions) ->
fun (SubOpts) ->
- F = fun ({mode, Mode}, {_M, G}) -> {Mode, G};
- ({group, Group}, {M, _G}) -> {M, Group}
- end,
- lists:foldl(F, {644, 33}, SubOpts)
+ {proplists:get_value(mode, SubOpts, 644),
+ proplists:get_value(group, SubOpts, 33)}
end;
+mod_opt_type({file_permissions, mode}) ->
+ fun(I) when is_integer(I), I>=0 -> I end;
+mod_opt_type({file_permissions, group}) ->
+ fun(I) when is_integer(I), I>=0 -> I end;
mod_opt_type(outdir) -> fun iolist_to_binary/1;
mod_opt_type(spam_prevention) ->
fun (B) when is_boolean(B) -> B end;
@@ -1203,5 +1205,5 @@ mod_opt_type(top_link) ->
end;
mod_opt_type(_) ->
[access_log, cssfile, dirname, dirtype, file_format,
- file_permissions, outdir, spam_prevention, timezone,
- top_link].
+ {file_permissions, mode}, {file_permissions, group},
+ outdir, spam_prevention, timezone, top_link].