summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-07-01 08:03:15 -0700
committerbors <bors@rust-lang.org>2013-07-01 08:03:15 -0700
commitb44953b8a3dcf97120e0cc4ed12ce115ce90e83e (patch)
treeb9a40a9e2291d8639d45d065875e45116d4b9f2e /src
parent0bd67f68913288af7cb26cca796842e9c8514521 (diff)
parent567cf30450c4c1ff15938c9c6a2519440e47a00e (diff)
downloadrust-b44953b8a3dcf97120e0cc4ed12ce115ce90e83e.tar.gz
rust-b44953b8a3dcf97120e0cc4ed12ce115ce90e83e.zip
auto merge of #7488 : yichoi/rust/sanitize_utf8, r=huonw
back::link::sanitize support escape_utf8
fix #7486
Diffstat (limited to 'src')
-rw-r--r--src/librustc/back/link.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/librustc/back/link.rs b/src/librustc/back/link.rs
index cc062db4cb2..61d39421b7f 100644
--- a/src/librustc/back/link.rs
+++ b/src/librustc/back/link.rs
@@ -660,9 +660,10 @@ pub fn sanitize(s: &str) -> ~str {
             | '_' => result.push_char(c),
 
             _ => {
-                if c > 'z' && char::is_XID_continue(c) {
-                    result.push_char(c);
-                }
+                let mut tstr = ~"";
+                do char::escape_unicode(c) |c| { tstr.push_char(c); }
+                result.push_char('$');
+                result.push_str(tstr.slice_from(1));
             }
         }
     }