From 21d65fd2011daccb4bcd45fb32e0cd37ce2b57d7 Mon Sep 17 00:00:00 2001 From: Joseph Wayne Norton Date: Fri, 24 Apr 2009 01:40:42 +0900 Subject: [PATCH] bugfix - fix rpc_v11_res_encode handling for error --- src/jsf.erl | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/jsf.erl b/src/jsf.erl index abdb703..13e3832 100644 --- a/src/jsf.erl +++ b/src/jsf.erl @@ -10,8 +10,8 @@ -export([rpc_v11_req_decode_print/3]). -export([rpc_v11_req_decode/3]). --export([rpc_v11_res_encode_print/3]). --export([rpc_v11_res_encode/3]). +-export([rpc_v11_res_encode_print/4]). +-export([rpc_v11_res_encode/4]). -export([rpc_v11_res_decode_print/2]). -export([rpc_v11_res_decode/2]). @@ -258,13 +258,14 @@ rpc_v11_req_decode(AuthInfo, X, UBFMod) -> %%--------------------------------------------------------------------- %% -rpc_v11_res_encode_print(X, Id, UBFMod) -> - io:format("~s~n", [rpc_v11_res_encode(X, Id, UBFMod)]). +rpc_v11_res_encode_print(X, Y, Id, UBFMod) -> + io:format("~s~n", [rpc_v11_res_encode(X, Y, Id, UBFMod)]). -rpc_v11_res_encode(X, Id, UBFMod) -> +rpc_v11_res_encode(X, Y, Id, UBFMod) -> Result = do_encode(X,UBFMod), - Y = {obj, [{<<"version">>, <<"1.1">>}, {<<"id">>, Id}, {<<"result">>, Result}, {<<"error">>, null}]}, - rfc4627:encode(Y). + Error = do_encode(Y,UBFMod), + Z = {obj, [{<<"version">>, <<"1.1">>}, {<<"id">>, Id}, {<<"result">>, Result}, {<<"error">>, Error}]}, + rfc4627:encode(Z). %% @@ -281,7 +282,7 @@ rpc_v11_res_decode(X, UBFMod) -> {value, {"id", Id}, Props2} = keytake("id", 1, Props1), {value, {"result", Result}, Props3} = keytake("result", 1, Props2), {value, {"error", Error}, []} = keytake("error", 1, Props3), - {ok, do_decode(Result,UBFMod), Error, Id} + {ok, do_decode(Result,UBFMod), do_decode(Error,UBFMod), Id} end.