2007-12-07 Badlop <badlop@process-one.net>
+ * src/mod_irc/iconv.erl: Fix compilation warnings: 3 (EJAB-290)
+ * src/mod_irc/mod_irc.erl: Likewise
+ * src/mod_irc/mod_irc_connection.erl: Likewise
+ * src/mod_pubsub/mod_pubsub.erl: Likewise
+ * src/stringprep/stringprep.erl: Likewise
+ * src/web/ejabberd_http.erl: Likewise
+ * src/web/ejabberd_http_poll.erl: Likewise
+
* src/mod_caps.erl: Fix compilation warnings: Part 2 (EJAB-290)
- * src/mod_configure.erl:
- * src/mod_configure2.erl:
- * src/mod_offline_odbc.erl:
- * src/mod_shared_roster.erl:
- * src/mod_stats.erl:
- * src/mod_version.erl:
+ * src/mod_configure.erl: Likewise
+ * src/mod_configure2.erl: Likewise
+ * src/mod_offline_odbc.erl: Likewise
+ * src/mod_shared_roster.erl: Likewise
+ * src/mod_stats.erl: Likewise
+ * src/mod_version.erl: Likewise
* src/cyrsasl.erl: Fix compilation warnings: Part 1 (EJAB-290)
* src/ejabberd_auth_odbc.erl: Likewise
handle_cast(_, State) ->
{noreply, State}.
-handle_info({'EXIT', Pid, Reason}, Port) ->
+handle_info({'EXIT', _Pid, _Reason}, Port) ->
{noreply, Port};
-
-handle_info({'EXIT', Port, Reason}, Port) ->
- {stop, {port_died, Reason}, Port};
+%% TODO: Check this clause, because it never matches:
+%%handle_info({'EXIT', Port, Reason}, Port) ->
+%% {stop, {port_died, Reason}, Port};
handle_info(_, State) ->
{noreply, State}.
-code_change(OldVsn, State, Extra) ->
+code_change(_OldVsn, State, _Extra) ->
{ok, State}.
terminate(_Reason, Port) ->
do_route1(Host, ServerHost, From, To, Packet, DefEnc) ->
#jid{user = ChanServ, resource = Resource} = To,
- {xmlelement, _Name, Attrs, _Els} = Packet,
+ {xmlelement, _Name, _Attrs, _Els} = Packet,
case ChanServ of
"" ->
case Resource of
"" ->
case jlib:iq_query_info(Packet) of
#iq{type = get, xmlns = ?NS_DISCO_INFO = XMLNS,
- sub_el = SubEl, lang = Lang} = IQ ->
+ sub_el = _SubEl, lang = Lang} = IQ ->
Res = IQ#iq{type = result,
sub_el = [{xmlelement, "query",
[{"xmlns", XMLNS}],
ejabberd_router:route(To,
From,
jlib:iq_to_xml(Res));
- #iq{} = IQ ->
+ #iq{} = _IQ ->
Err = jlib:make_error_reply(
Packet, ?ERR_FEATURE_NOT_IMPLEMENTED),
ejabberd_router:route(To, From, Err);
find_xdata_el1([_ | Els]) ->
find_xdata_el1(Els).
-process_irc_register(Host, From, To, DefEnc,
+process_irc_register(Host, From, _To, DefEnc,
#iq{type = Type, xmlns = XMLNS,
lang = Lang, sub_el = SubEl} = IQ) ->
case Type of
case XDataEl of
false ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ACCEPTABLE]};
- {xmlelement, _Name, Attrs, SubEls} ->
+ {xmlelement, _Name, Attrs, _SubEls} ->
case xml:get_attr_s("type", Attrs) of
"cancel" ->
IQ#iq{type = result,
US = {LUser, LServer},
Customs =
case catch mnesia:dirty_read({irc_custom, {US, Host}}) of
- {'EXIT', Reason} ->
+ {'EXIT', _Reason} ->
{error, ?ERR_INTERNAL_SERVER_ERROR};
[] ->
{User, []};
]}]}
end;
-get_form(_Host, _, _, Lang, _) ->
+get_form(_Host, _, _, _Lang, _) ->
{error, ?ERR_SERVICE_UNAVAILABLE}.
-set_form(Host, From, [], Lang, XData) ->
+set_form(Host, From, [], _Lang, XData) ->
{LUser, LServer, _} = jlib:jid_tolower(From),
US = {LUser, LServer},
case {lists:keysearch("username", 1, XData),
end;
-set_form(_Host, _, _, Lang, XData) ->
+set_form(_Host, _, _, _Lang, _XData) ->
{error, ?ERR_SERVICE_UNAVAILABLE}.
get_user_and_encoding(Host, From, IRCServer, DefEnc) ->
- #jid{user = User, server = Server,
+ #jid{user = User, server = _Server,
luser = LUser, lserver = LServer} = From,
US = {LUser, LServer},
case catch mnesia:dirty_read({irc_custom, {US, Host}}) of
- {'EXIT', Reason} ->
+ {'EXIT', _Reason} ->
{User, DefEnc};
[] ->
{User, DefEnc};
%% {stop, Reason, NewStateData}
%%----------------------------------------------------------------------
handle_info({route_chan, Channel, Resource,
- {xmlelement, "presence", Attrs, Els}},
+ {xmlelement, "presence", Attrs, _Els}},
StateName, StateData) ->
NewStateData =
case xml:get_attr_s("type", Attrs) of
end;
handle_info({route_chan, Channel, Resource,
- {xmlelement, "message", Attrs, Els} = El},
+ {xmlelement, "message", Attrs, _Els} = El},
StateName, StateData) ->
NewStateData =
case xml:get_attr_s("type", Attrs) of
handle_info({route_chan, Channel, Resource,
- {xmlelement, "iq", Attrs, Els} = El},
+ {xmlelement, "iq", _Attrs, _Els} = El},
StateName, StateData) ->
From = StateData#state.user,
To = jlib:make_jid(lists:concat([Channel, "%", StateData#state.server]),
end,
{next_state, StateName, StateData};
-handle_info({route_chan, Channel, Resource, Packet}, StateName, StateData) ->
+handle_info({route_chan, _Channel, _Resource, _Packet}, StateName, StateData) ->
{next_state, StateName, StateData};
handle_info({route_nick, Nick,
- {xmlelement, "message", Attrs, Els} = El},
+ {xmlelement, "message", Attrs, _Els} = El},
StateName, StateData) ->
NewStateData =
case xml:get_attr_s("type", Attrs) of
{next_state, StateName, NewStateData}
end;
-handle_info({route_nick, Nick, Packet}, StateName, StateData) ->
+handle_info({route_nick, _Nick, _Packet}, StateName, StateData) ->
{next_state, StateName, StateData};
send_text(StateData, "PONG " ++ ID ++ "\r\n"),
{next_state, StateName, StateData};
-handle_info({ircstring, [$: | String]}, StateName, StateData) ->
+handle_info({ircstring, [$: | String]}, _StateName, StateData) ->
Words = string:tokens(String, " "),
NewStateData =
case Words of
[_, "353" | Items] ->
process_channel_list(StateData, Items);
- [_, "332", Nick, [$# | Chan] | _] ->
+ [_, "332", _Nick, [$# | Chan] | _] ->
process_channel_topic(StateData, Chan, String),
StateData;
- [_, "333", Nick, [$# | Chan] | _] ->
+ [_, "333", _Nick, [$# | Chan] | _] ->
process_channel_topic_who(StateData, Chan, String),
StateData;
[_, "318", _, Nick | _] ->
handle_info({send_text, Text}, StateName, StateData) ->
send_text(StateData, Text),
{next_state, StateName, StateData};
-handle_info({tcp, Socket, Data}, StateName, StateData) ->
+handle_info({tcp, _Socket, Data}, StateName, StateData) ->
Buf = StateData#state.inbuf ++ binary_to_list(Data),
{ok, Strings} = regexp:split([C || C <- Buf, C /= $\r], "\n"),
?DEBUG("strings=~p~n", [Strings]),
NewBuf = process_lines(StateData#state.encoding, Strings),
{next_state, StateName, StateData#state{inbuf = NewBuf}};
-handle_info({tcp_closed, Socket}, StateName, StateData) ->
+handle_info({tcp_closed, _Socket}, StateName, StateData) ->
gen_fsm:send_event(self(), closed),
{next_state, StateName, StateData};
-handle_info({tcp_error, Socket, Reason}, StateName, StateData) ->
+handle_info({tcp_error, _Socket, _Reason}, StateName, StateData) ->
gen_fsm:send_event(self(), closed),
{next_state, StateName, StateData}.
%% Purpose: Shutdown the fsm
%% Returns: any
%%----------------------------------------------------------------------
-terminate(Reason, StateName, StateData) ->
+terminate(_Reason, _StateName, StateData) ->
mod_irc:closed_connection(StateData#state.host,
StateData#state.user,
StateData#state.server),
bounce_messages(Reason) ->
receive
{send_element, El} ->
- {xmlelement, Name, Attrs, SubTags} = El,
+ {xmlelement, _Name, Attrs, _SubTags} = El,
case xml:get_attr_s("type", Attrs) of
"error" ->
ok;
Pid ! {route_nick, Nick, Packet}.
-process_lines(Encoding, [S]) ->
+process_lines(_Encoding, [S]) ->
S;
process_lines(Encoding, [S | Ss]) ->
self() ! {ircstring, iconv:convert(Encoding, "utf-8", S)},
process_channel_list_find_chan(StateData, [_ | Items]) ->
process_channel_list_find_chan(StateData, Items).
-process_channel_list_users(StateData, Chan, []) ->
+process_channel_list_users(StateData, _Chan, []) ->
StateData;
process_channel_list_users(StateData, Chan, [User | Items]) ->
NewStateData = process_channel_list_user(StateData, Chan, User),
Msg1 = case Words of
[_, "333", _, _Chan, Whoset , Timeset] ->
case string:to_integer(Timeset) of
- {Unixtimeset, Rest} ->
+ {Unixtimeset, _Rest} ->
"Topic for #" ++ Chan ++ " set by " ++ Whoset ++
" at " ++ unixtime2string(Unixtimeset);
_->
-process_endofwhois(StateData, String, Nick) ->
+process_endofwhois(StateData, _String, Nick) ->
ejabberd_router:route(
jlib:make_jid(lists:concat([Nick, "!", StateData#state.server]),
StateData#state.host, ""),
-process_privmsg(StateData, Nick, From, String) ->
+process_privmsg(StateData, _Nick, From, String) ->
[FromUser | _] = string:tokens(From, "!"),
{ok, Msg, _} = regexp:sub(String, ".*PRIVMSG[^:]*:", ""),
Msg1 = case Msg of
[{xmlelement, "body", [], [{xmlcdata, Msg2}]}]}).
-process_notice(StateData, Nick, From, String) ->
+process_notice(StateData, _Nick, From, String) ->
[FromUser | _] = string:tokens(From, "!"),
{ok, Msg, _} = regexp:sub(String, ".*NOTICE[^:]*:", ""),
Msg1 = case Msg of
[{xmlelement, "body", [], [{xmlcdata, Msg2}]}]}).
-process_version(StateData, Nick, From) ->
+process_version(StateData, _Nick, From) ->
[FromUser | _] = string:tokens(From, "!"),
send_text(
StateData,
[FromUser])).
-process_userinfo(StateData, Nick, From) ->
+process_userinfo(StateData, _Nick, From) ->
[FromUser | _] = string:tokens(From, "!"),
send_text(
StateData,
{ok, Msg, _} = regexp:sub(String, ".*QUIT[^:]*:", ""),
Msg1 = filter_message(Msg),
- NewChans =
+ %%NewChans =
dict:map(
fun(Chan, Ps) ->
case ?SETS:is_member(FromUser, Ps) of
StateData.
-process_join(StateData, Channel, From, String) ->
+process_join(StateData, Channel, From, _String) ->
[FromUser | FromIdent] = string:tokens(From, "!"),
Chan = lists:subtract(Channel, ":#"),
ejabberd_router:route(
-process_mode_o(StateData, Chan, From, Nick, Affiliation, Role) ->
+process_mode_o(StateData, Chan, _From, Nick, Affiliation, Role) ->
%Msg = lists:last(string:tokens(String, ":")),
ejabberd_router:route(
jlib:make_jid(lists:concat([Chan, "%", StateData#state.server]),
Reason = xml:get_path_s(ItemEl, [{elem, "reason"}, cdata]),
process_admin(StateData, Channel, Nick, Affiliation, Role, Reason)
end;
-process_iq_admin(StateData, Channel, get, SubEl) ->
+process_iq_admin(_StateData, _Channel, get, _SubEl) ->
{error, ?ERR_FEATURE_NOT_IMPLEMENTED}.
-process_admin(StateData, Channel, "", Affiliation, Role, Reason) ->
+process_admin(_StateData, _Channel, "", _Affiliation, _Role, _Reason) ->
{error, ?ERR_FEATURE_NOT_IMPLEMENTED};
-process_admin(StateData, Channel, Nick, Affiliation, "none", Reason) ->
+process_admin(StateData, Channel, Nick, _Affiliation, "none", Reason) ->
case Reason of
"" ->
send_text(StateData,
-process_admin(StateData, Channel, Nick, Affiliation, Role, Reason) ->
+process_admin(_StateData, _Channel, _Nick, _Affiliation, _Role, _Reason) ->
{error, ?ERR_FEATURE_NOT_IMPLEMENTED}.
node_disco_info(Host, Node, From, true, false).
node_disco_features(Host, Node, From) ->
node_disco_info(Host, Node, From, false, true).
-node_disco_info(Host, Node, From, Identity, Features) ->
+node_disco_info(Host, Node, _From, Identity, Features) ->
Action =
fun(#pubsub_node{type = Type}) ->
I = case Identity of
end,
iq_pubsub(Host, ServerHost, From, IQType, SubEl, Lang, all, Plugins).
-iq_pubsub(Host, ServerHost, From, IQType, SubEl, Lang, Access, Plugins) ->
+iq_pubsub(Host, ServerHost, From, IQType, SubEl, _Lang, Access, Plugins) ->
{xmlelement, _, _, SubEls} = SubEl,
WithoutCdata = xml:remove_cdata(SubEls),
Configuration = lists:filter(fun({xmlelement, Name, _, _}) ->
_ -> false
end,
Action = fun(#pubsub_node{type = Type,
- options = Options,
+ %%options = Options,
owners = Owners}) ->
IsApprover = lists:member(jlib:jid_tolower(jlib:jid_remove_resource(From)), Owners),
Subscription = node_call(Type, get_subscription, [Host, Node, Subscriber]),
%%%%%% broadcast functions
-broadcast_publish_item(Host, Node, ItemId, From, Payload) ->
+broadcast_publish_item(Host, Node, ItemId, _From, Payload) ->
Action =
fun(#pubsub_node{options = Options, type = Type}) ->
case node_call(Type, get_states, [Host, Node]) of
%% broadcast Stanza to all contacts of the user that are advertising
%% interest in this kind of Node.
-broadcast_by_caps({LUser, LServer, LResource}, Node, Type, Stanza) ->
+broadcast_by_caps({LUser, LServer, LResource}, Node, _Type, Stanza) ->
?DEBUG("looking for pid of ~p@~p/~p", [LUser, LServer, LResource]),
%% We need to know the resource, so we can ask for presence data.
SenderResources = ejabberd_sm:get_user_resources(LUser, LServer),
%% Also, add "replyto" if entity has presence subscription to the account owner
%% See XEP-0163 1.1 section 4.3.1
Sender = jlib:make_jid(LUser, LServer, ""),
- ReplyTo = jlib:make_jid(LUser, LServer, SenderResource), % This has to be used
+ %%ReplyTo = jlib:make_jid(LUser, LServer, SenderResource), % This has to be used
case catch ejabberd_c2s:get_subscribed_and_online(C2SPid) of
ContactsWithCaps when is_list(ContactsWithCaps) ->
?DEBUG("found contacts with caps: ~p", [ContactsWithCaps]),
atom_to_list(get_option(Options, Var)),
[atom_to_list(O) || O <- Opts])).
-get_configure_xfields(Type, Options, Owners, Lang) ->
+get_configure_xfields(_Type, Options, _Owners, Lang) ->
[?XFIELD("hidden", "", "FORM_TYPE", ?NS_PUBSUB_NODE_CONFIG),
?BOOL_CONFIG_FIELD("Deliver payloads with event notifications", deliver_payloads),
?BOOL_CONFIG_FIELD("Deliver event notifications", deliver_notifications),
{'EXIT', {undef, _}} -> [];
Result -> Result
end.
-features(Host, []) ->
+features(_Host, []) ->
features(?STDNODE);
features(Host, Node) ->
{result, Features} = node_action(Host, Node, features, []),
handle_cast(_, State) ->
{noreply, State}.
-handle_info({'EXIT', Pid, Reason}, Port) ->
+handle_info({'EXIT', _Pid, _Reason}, Port) ->
{noreply, Port};
-
-handle_info({'EXIT', Port, Reason}, Port) ->
- {stop, {port_died, Reason}, Port};
+%% TODO: Check if this clase is correct: it never matches:
+%%handle_info({'EXIT', Port, Reason}, Port) ->
+%% {stop, {port_died, Reason}, Port};
handle_info(_, State) ->
{noreply, State}.
-code_change(OldVsn, State, Extra) ->
+code_change(_OldVsn, State, _Extra) ->
{ok, State}.
terminate(_Reason, Port) ->
case (catch url_decode_q_split(Path)) of
{'EXIT', _} ->
process_request(false);
- {NPath, Query} ->
+ {NPath, _Query} ->
LPath = string:tokens(NPath, "/"),
LQuery = case (catch parse_urlencoded(Data)) of
{'EXIT', _Reason} ->
recv_data(State, Len) ->
recv_data(State, Len, []).
-recv_data(State, 0, Acc) ->
+recv_data(_State, 0, Acc) ->
binary_to_list(list_to_binary(Acc));
recv_data(State, Len, Acc) ->
case State#state.trail of
code_to_phrase(505) -> "HTTP Version Not Supported".
-parse_auth(Orig = "Basic " ++ Auth64) ->
+parse_auth(_Orig = "Basic " ++ Auth64) ->
case decode_base64(Auth64) of
{error, _Err} ->
undefined;
catch gen_fsm:sync_send_all_state_event(FsmRef, close).
-process([], #request{data = Data} = Request) ->
+process([], #request{data = Data} = _Request) ->
case catch parse_request(Data) of
{ok, ID1, Key, NewKey, Packet} ->
ID = if
}}
end;
-handle_event(Event, StateName, StateData) ->
+handle_event(_Event, StateName, StateData) ->
{next_state, StateName, StateData}.
%%----------------------------------------------------------------------
%% {stop, Reason, NewStateData} |
%% {stop, Reason, Reply, NewStateData}
%%----------------------------------------------------------------------
-handle_sync_event({send, Packet}, From, StateName, StateData) ->
+handle_sync_event({send, Packet}, _From, StateName, StateData) ->
Output = StateData#state.output ++ [lists:flatten(Packet)],
Reply = ok,
{reply, Reply, StateName, StateData#state{output = Output}};
-handle_sync_event(stop, From, StateName, StateData) ->
+handle_sync_event(stop, _From, _StateName, StateData) ->
Reply = ok,
{stop, normal, Reply, StateData};
handle_sync_event({http_put, Key, NewKey, Packet},
- From, StateName, StateData) ->
+ _From, StateName, StateData) ->
Allow = case StateData#state.key of
"" ->
true;
{reply, Reply, StateName, StateData}
end;
-handle_sync_event(http_get, From, StateName, StateData) ->
+handle_sync_event(http_get, _From, StateName, StateData) ->
Reply = {ok, StateData#state.output},
{reply, Reply, StateName, StateData#state{output = ""}};
-handle_sync_event(Event, From, StateName, StateData) ->
+handle_sync_event(_Event, _From, StateName, StateData) ->
Reply = ok,
{reply, Reply, StateName, StateData}.
-code_change(OldVsn, StateName, StateData, Extra) ->
+code_change(_OldVsn, StateName, StateData, _Extra) ->
{ok, StateName, StateData}.
%%----------------------------------------------------------------------
%% {next_state, NextStateName, NextStateData, Timeout} |
%% {stop, Reason, NewStateData}
%%----------------------------------------------------------------------
-handle_info({timeout, Timer, _}, StateName,
+handle_info({timeout, Timer, _}, _StateName,
#state{timer = Timer} = StateData) ->
{stop, normal, StateData};
%% Purpose: Shutdown the fsm
%% Returns: any
%%----------------------------------------------------------------------
-terminate(Reason, StateName, StateData) ->
+terminate(_Reason, _StateName, StateData) ->
mnesia:transaction(
fun() ->
mnesia:delete({http_poll, StateData#state.id})