]> granicus.if.org Git - ejabberd/commitdiff
* src/xml.erl: Do not crypt binary CData, but enclose the value in
authorMickaël Rémond <mickael.remond@process-one.net>
Mon, 30 Jul 2007 08:32:47 +0000 (08:32 +0000)
committerMickaël Rémond <mickael.remond@process-one.net>
Mon, 30 Jul 2007 08:32:47 +0000 (08:32 +0000)
XML CDATA "tag".
* src/xml.erl: Code clean-up: removed old code in comments.

SVN Revision: 836

ChangeLog
src/xml.erl

index 2a67d0d4a03a9198612c27f8b91fb885df0ee65f..0bb42bff264f72a2fe070e3ef069b7a2f9856088 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-07-30  Mickael Remond  <mickael.remond@process-one.net>
+
+       * src/xml.erl: Do not crypt binary CData, but enclose the value in
+       XML CDATA "tag".
+       
+       * src/xml.erl: Code clean-up: removed old code in comments.
+
 2007-07-28  Mickael Remond  <mickael.remond@process-one.net>
 
        * src/mod_roster_odbc.erl: Better error management when bad JID in
index 002239668d7bbf161fe6c2b81578b6b3bff3f11f..4fae4827d8d70e666004ae54322ffad4c1e5c449 100644 (file)
         get_path_s/2,
         replace_tag_attr/3]).
 
-%element_to_string(El) ->
-%    case El of
-%      {xmlelement, Name, Attrs, Els} ->
-%          if length(Els) > 0 ->
-%                  "<" ++ Name ++ attrs_to_string(Attrs) ++ ">" ++
-%                      lists:append(
-%                        lists:map(fun(E) -> element_to_string(E) end, Els))
-%                      ++ "</" ++ Name ++ ">";
-%             true ->
-%                  "<" ++ Name ++ attrs_to_string(Attrs) ++ "/>"
-%             end;
-%      {xmlcdata, CData} -> crypt(CData)
-%    end.
-%
-%
-%attrs_to_string(Attrs) ->
-%    lists:append(lists:map(fun(A) -> attr_to_string(A) end, Attrs)).
-%
-%attr_to_string({Name, Value}) ->
-%    " " ++ crypt(Name) ++ "='" ++ crypt(Value) ++ "'".
-
-
-%element_to_string2(El) ->
-%    lists:flatten(element_to_string21(El)).
-%
-%element_to_string21(El) ->
-%    case El of
-%      {xmlelement, Name, Attrs, Els} ->
-%          if length(Els) > 0 ->
-%                  [[$< | Name], attrs_to_list(Attrs), ">",
-%                   lists:map(fun(E) -> element_to_string21(E) end, Els),
-%                   "</", Name, ">"];
-%             true ->
-%                  ["<", Name, attrs_to_list(Attrs), "/>"]
-%             end;
-%      {xmlcdata, CData} -> crypt(CData)
-%    end.
-%
-%attrs_to_list(Attrs) ->
-%    lists:map(fun(A) -> attr_to_list(A) end, Attrs).
-%
-%attr_to_list({Name, Value}) ->
-%    [" ", crypt(Name), "='", crypt(Value), "'"].
-
 element_to_string(El) ->
     case El of
        {xmlelement, Name, Attrs, Els} ->
@@ -75,8 +31,13 @@ element_to_string(El) ->
               true ->
                    [$<, Name, attrs_to_list(Attrs), $/, $>]
               end;
-       {xmlcdata, CData} ->
-           crypt(CData)
+       {xmlcdata, CData} when list(CData) ->
+           crypt(CData);
+       %% We do not crypt CDATA binary, but we enclose it in XML CDATA
+       {xmlcdata, CData} when binary(CData) ->
+           CDATA1 = <<"<![CDATA[">>,
+           CDATA2 = <<"]]>">>,
+           concat_binary([CDATA1, CData, CDATA2])          
     end.
 
 attrs_to_list(Attrs) ->
@@ -85,26 +46,6 @@ attrs_to_list(Attrs) ->
 attr_to_list({Name, Value}) ->
     [$\s, crypt(Name), $=, $', crypt(Value), $'].
 
-
-
-%crypt(S) ->
-%    lists:reverse(crypt(S, "")).
-%
-%crypt([$& | S], R) ->
-%    crypt(S, [$;, $p, $m, $a, $& | R]);
-%crypt([$< | S], R) ->
-%    crypt(S, [$;, $t, $l, $& | R]);
-%crypt([$> | S], R) ->
-%    crypt(S, [$;, $t, $g, $& | R]);
-%crypt([$" | S], R) ->
-%    crypt(S, [$;, $t, $o, $u, $q, $& | R]);
-%crypt([$' | S], R) ->
-%    crypt(S, [$;, $s, $o, $p, $a, $& | R]);
-%crypt([C | S], R) ->
-%    crypt(S, [C | R]);
-%crypt([], R) ->
-%    R.
-
 crypt(S) when is_list(S) ->
     [case C of
         $& -> "&amp;";