diff options
author | Alexey Shchepin <alexey@process-one.net> | 2008-04-11 05:52:10 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2008-04-11 05:52:10 +0000 |
commit | 9733e6874e73b2274a96bc77082cc44aeb5e941a (patch) | |
tree | 55dbbbba6c4793dc3616410cf496c7ed059cc249 | |
parent | * src/tls/tls_drv.c: Fixed gcc signedness warnings (diff) |
* src/ejabberd_config.erl: Removed a dependency on string:to_upper
SVN Revision: 1288
Diffstat (limited to '')
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/ejabberd_config.erl | 45 |
2 files changed, 25 insertions, 22 deletions
@@ -1,5 +1,7 @@ 2008-04-11 Alexey Shchepin <alexey@process-one.net> + * src/ejabberd_config.erl: Removed a dependency on string:to_upper + * src/tls/tls_drv.c: Fixed gcc signedness warnings * src/ejabberd_zlib/ejabberd_zlib_drv.c: Likewise diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl index a585b39f..6d110ed1 100644 --- a/src/ejabberd_config.erl +++ b/src/ejabberd_config.erl @@ -239,18 +239,18 @@ split_terms_macros(Terms) -> lists:foldl( fun(Term, {TOs, Ms}) -> case Term of - {define_macro, Key, Value} -> - case is_atom(Key) and is_all_uppercase(Key) of - true -> - {TOs, Ms++[{Key, Value}]}; - false -> - exit({macro_not_properly_defined, Term}) - end; - Term -> - {TOs ++ [Term], Ms} + {define_macro, Key, Value} -> + case is_atom(Key) and is_all_uppercase(Key) of + true -> + {TOs, Ms++[{Key, Value}]}; + false -> + exit({macro_not_properly_defined, Term}) + end; + Term -> + {TOs ++ [Term], Ms} end end, - {[], []}, + {[], []}, Terms). %% @doc Recursively replace in Terms macro usages with the defined value. @@ -263,15 +263,15 @@ replace([Term|Terms], Macros) -> [replace_term(Term, Macros) | replace(Terms, Macros)]. replace_term(Key, Macros) when is_atom(Key) -> - case is_all_uppercase(Key) of - true -> - case proplists:get_value(Key, Macros) of - undefined -> exit({undefined_macro, Key}); - Value -> Value - end; - false -> - Key - end; + case is_all_uppercase(Key) of + true -> + case proplists:get_value(Key, Macros) of + undefined -> exit({undefined_macro, Key}); + Value -> Value + end; + false -> + Key + end; replace_term({use_macro, Key, Value}, Macros) -> proplists:get_value(Key, Macros, Value); replace_term(Term, Macros) when is_list(Term) -> @@ -284,9 +284,10 @@ replace_term(Term, _) -> Term. is_all_uppercase(Atom) -> - String = erlang:atom_to_list(Atom), - (String == string:to_upper(String)). - + String = erlang:atom_to_list(Atom), + lists:all(fun(C) when C >= $a, C =< $z -> false; + (_) -> true + end, String). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Process terms |