Sunday, 25 August 2013

badarg to '++'operator - hhow to come around?

badarg to '++'operator - hhow to come around?

** Reason for termination =
** {badarg,[{erlang,'++',[<<>>,"</after></set></query></iq>"]},
{geoloc,get_nearby,1},
And the method was:
get_nearby({_Pid, DynVars})->
%Last = ts_dynvars:lookup(last, DynVars),
Last = lists:keysearch(last,1,DynVars),
{ok, Rad} = ts_dynvars:lookup(rad,DynVars),
{ok, Lat} = ts_dynvars:lookup(lat,DynVars),
{ok, Lon} = ts_dynvars:lookup(lon,DynVars),
if is_tuple(Last) ->
{value,{Key,After}} = Last,
if length(After) == 0 ->
After2 = "0";
true ->
After2 = After
end,
"<iq id=\"" ++
common:get_random_string(5,"abcdefghijklmnopqrstuvwxyz0123456789-+=")
++ "\" xmlns=\"http://xmpp.xgate.com.hk/plugins\"
to=\"xmpp.xgate.hk.com\" type=\"get\"><query
xmlns=\"jabber:iq:geoloc\"><geoloc><lat>" ++ Lat ++
"</lat><lon>" ++ Lon ++ "</lon><radius>" ++ Rad ++
"</radius></geoloc><set
xmlns=\"http://jabber.org/protocol/rsm\"><max>" ++
integer_to_list(ran_max()) ++ "</max><after>" ++ After2 ++
"</after></set></query></iq>";
true -> % Last is boolean, namely the 'false' atom
ts_dynvars:set([rad, lat, lon], [Rad, Lat, Lon], DynVars),
"<iq id=\"" ++
common:get_random_string(5,"abcdefghijklmnopqrstuvwxyz0123456789-+=")
++ "\" xmlns=\"http://xmpp.xgate.com.hk/plugins\"
to=\"xmpp.xgate.hk.com\" type=\"get\"><query
xmlns=\"jabber:iq:geoloc\"><geoloc><lat>" ++ Lat ++
"</lat><lon>" ++ Lon ++ "</lon><radius>" ++ Rad ++
"</radius></geoloc><set
xmlns=\"http://jabber.org/protocol/rsm\"><max>" ++
integer_to_list(ran_max()) ++ "</max></set></query></iq>"
end.

No comments:

Post a Comment