libcore: De-mode str

This commit is contained in:
Patrick Walton
2012-09-21 18:36:32 -07:00
parent 49af969e2c
commit d48396c986
19 changed files with 182 additions and 159 deletions

View File

@@ -92,7 +92,7 @@ fn to_writer(wr: io::Writer, j: Json) {
fn to_writer_pretty(wr: io::Writer, j: Json, indent: uint) {
fn spaces(n: uint) -> ~str {
let mut ss = ~"";
for n.times { str::push_str(ss, " "); }
for n.times { str::push_str(&mut ss, " "); }
return ss;
}
@@ -428,14 +428,14 @@ impl Parser {
if (escape) {
match self.ch {
'"' => str::push_char(res, '"'),
'\\' => str::push_char(res, '\\'),
'/' => str::push_char(res, '/'),
'b' => str::push_char(res, '\x08'),
'f' => str::push_char(res, '\x0c'),
'n' => str::push_char(res, '\n'),
'r' => str::push_char(res, '\r'),
't' => str::push_char(res, '\t'),
'"' => str::push_char(&mut res, '"'),
'\\' => str::push_char(&mut res, '\\'),
'/' => str::push_char(&mut res, '/'),
'b' => str::push_char(&mut res, '\x08'),
'f' => str::push_char(&mut res, '\x0c'),
'n' => str::push_char(&mut res, '\n'),
'r' => str::push_char(&mut res, '\r'),
't' => str::push_char(&mut res, '\t'),
'u' => {
// Parse \u1234.
let mut i = 0u;
@@ -464,7 +464,7 @@ impl Parser {
~"invalid \\u escape (not four digits)");
}
str::push_char(res, n as char);
str::push_char(&mut res, n as char);
}
_ => return self.error(~"invalid escape")
}
@@ -476,7 +476,7 @@ impl Parser {
self.bump();
return Ok(@res);
}
str::push_char(res, self.ch);
str::push_char(&mut res, self.ch);
}
}