]> granicus.if.org Git - ejabberd/commitdiff
Handle ~ control sequence in text of mod_muc_log (EJAB-1639)
authorBadlop <badlop@process-one.net>
Thu, 30 May 2013 12:08:18 +0000 (14:08 +0200)
committerBadlop <badlop@process-one.net>
Thu, 30 May 2013 12:08:25 +0000 (14:08 +0200)
src/mod_muc/mod_muc_log.erl

index 27f1340dcb58bb7c85702a9b9a9727eb44fa8619..7f45bd41615ca48c60e99cbf2bbc44531f095145 100644 (file)
@@ -455,7 +455,7 @@ add_message_to_log(Nick1, Message, RoomJID, Opts, State) ->
     STimeUnique = io_lib:format("~s.~w", [STime, Microsecs]),
 
     %% Write message
-    fw(F, io_lib:format("<a id=\"~s\" name=\"~s\" href=\"#~s\" class=\"ts\">[~s]</a> ", 
+    catch fw(F, io_lib:format("<a id=\"~s\" name=\"~s\" href=\"#~s\" class=\"ts\">[~s]</a> ",
                        [STimeUnique, STimeUnique, STimeUnique, STime]) ++ Text, FileFormat),
 
     %% Close file
@@ -787,13 +787,14 @@ htmlize(S1) ->
     htmlize(S1, html).
 
 htmlize(S1, plaintext) ->
-    S1;
+    ejabberd_regexp:replace(S1, "~", "~~");
 htmlize(S1, FileFormat) ->
     htmlize(S1, false, FileFormat).
 
 %% The NoFollow parameter tell if the spam prevention should be applied to the link found
 %% true means 'apply nofollow on links'.
-htmlize(S1, _NoFollow, plaintext) ->
+htmlize(S0, _NoFollow, plaintext) ->
+    S1  = ejabberd_regexp:replace(S0, "~", "~~"),
     S1x = ejabberd_regexp:replace(S1, "<", ?PLAINTEXT_IN),
     ejabberd_regexp:replace(S1x, ">", ?PLAINTEXT_OUT);
 htmlize(S1, NoFollow, _FileFormat) ->