From b4c2a3b85f4a66f38acf7f648502a5c156b8fff5 Mon Sep 17 00:00:00 2001 From: Brendon Hogger Date: Tue, 21 Feb 2012 05:28:08 +0800 Subject: [PATCH 1/2] Fix a crash in debug prints of XML messages --- src/ejabberd_c2s.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 2930036e4..8611bf175 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1645,7 +1645,7 @@ send_text(StateData, Text) when StateData#state.xml_socket -> (StateData#state.sockmod):send_xml(StateData#state.socket, {xmlstreamraw, Text1}); send_text(StateData, Text) -> - ?DEBUG("Send XML on stream = ~s", [Text]), + ?DEBUG("Send XML on stream = ~s", [iolist_to_binary(Text)]), (StateData#state.sockmod):send(StateData#state.socket, Text). send_element(StateData, #xmlel{ns = ?NS_XMPP, name = 'stream'} = El) -> From 118b006cac1b97f30d15935cb44ffd3cc688ebd4 Mon Sep 17 00:00:00 2001 From: Brendon Hogger Date: Tue, 21 Feb 2012 06:30:30 +0800 Subject: [PATCH 2/2] Handle NULL<->undefined correctly in gen_storage_odbc --- src/gen_storage_odbc.erl | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/gen_storage_odbc.erl b/src/gen_storage_odbc.erl index 5702df05f..c282f063a 100644 --- a/src/gen_storage_odbc.erl +++ b/src/gen_storage_odbc.erl @@ -423,6 +423,9 @@ rows_to_result(#tabdef{record_name = RecordName, row_to_result(Row, [], Result) -> {Row, lists:reverse(Result)}; + +row_to_result([null | Row], [_ | Types], Result) -> + row_to_result(Row, Types, [undefined | Result]); row_to_result([Field | Row], [Type | Types], Result) -> case Type of int -> @@ -649,6 +652,10 @@ format(I) when is_integer(I) -> %% escaping not needed integer_to_list(I); + +format(undefined) -> + "NULL"; + format(A) when is_atom(A) -> %% escaping usually not needed, watch atom() usage "'" ++ atom_to_list(A) ++ "'";