diff options
Diffstat (limited to 'src/comp/middle')
| -rw-r--r-- | src/comp/middle/trans.rs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 752c9e0e..2cf035aa 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -404,8 +404,20 @@ fn sanitize(str s) -> str { if (c == ('@' as u8)) { result += "boxed_"; } else { - auto v = vec(c); - result += _str.from_bytes(v); + if (c == (',' as u8)) { + result += "_"; + } else { + if (c == ('{' as u8) || c == ('(' as u8)) { + result += "_of_"; + } else { + if (c != 10u8 && c != ('}' as u8) && c != (')' as u8) && + c != (' ' as u8) && c != ('\t' as u8) && + c != (';' as u8)) { + auto v = vec(c); + result += _str.from_bytes(v); + } + } + } } } ret result; |