diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/gen_mod.erl | 11 |
2 files changed, 12 insertions, 3 deletions
@@ -1,3 +1,7 @@ +2007-09-11 Alexey Shchepin <alexey@process-one.net> + + * src/gen_mod.erl: Added get_module_opt_host/3 (thanks to Badlop) + 2007-09-10 Mickael Remond <mremond@process-one.net> * src/guide.tex: Fix: user_regexp acls are valid for all local diff --git a/src/gen_mod.erl b/src/gen_mod.erl index 163a8b5dc..168c93df4 100644 --- a/src/gen_mod.erl +++ b/src/gen_mod.erl @@ -15,6 +15,7 @@ get_opt/3, get_opt_host/3, get_module_opt/4, + get_module_opt_host/3, loaded_modules/1, loaded_modules_with_opts/1, get_hosts/2, @@ -92,7 +93,7 @@ wait_for_stop1(MonitorReference) -> get_opt(Opt, Opts) -> case lists:keysearch(Opt, 1, Opts) of false -> - % TODO: replace with more appropriate function + % TODO: replace with more appropriate function throw({undefined_option, Opt}); {value, {_, Val}} -> Val @@ -114,9 +115,9 @@ get_module_opt(global, Module, Opt, Default) -> end, Hosts), Same_all = lists:all( - fun(Other_value) -> + fun(Other_value) -> Other_value == Value - end, + end, Values), case Same_all of true -> Value; @@ -132,6 +133,10 @@ get_module_opt(Host, Module, Opt, Default) -> get_opt(Opt, Opts, Default) end. +get_module_opt_host(Host, Module, Default) -> + Val = get_module_opt(Host, Module, host, Default), + element(2, regexp:gsub(Val, "@HOST@", Host)). + get_opt_host(Host, Opts, Default) -> Val = get_opt(host, Opts, Default), element(2, regexp:gsub(Val, "@HOST@", Host)). |