Skip to content

Commit fe82374

Browse files
committed
json bugfixes
1 parent 7659614 commit fe82374

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

src/libstd/json.rs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -122,24 +122,21 @@ pub impl Encoder: serialize::Encoder {
122122
fn emit_managed(&self, f: fn()) { f() }
123123

124124
fn emit_enum(&self, name: &str, f: fn()) {
125+
f()
126+
}
127+
128+
fn emit_enum_variant(&self, _name: &str, id: uint, _cnt: uint, f: fn()) {
125129
// emitting enums as arrays where the first
126130
// element provides the enum variant name
127131
self.wr.write_char('[');
128-
self.wr.write_str(name);
132+
self.wr.write_str(escape_str(_name));
129133
self.wr.write_char(',');
130134
f();
131135
self.wr.write_char(']');
132136
}
133-
134-
fn emit_enum_variant(&self, _name: &str, id: uint, _cnt: uint, f: fn()) {
135-
if id == 0 {
136-
self.emit_nil();
137-
} else {
138-
f()
139-
}
140-
}
141137
fn emit_enum_variant_arg(&self, _idx: uint, f: fn()) {
142-
f()
138+
if _idx != 0 {self.wr.write_char(',');}
139+
f();
143140
}
144141

145142
fn emit_borrowed_vec(&self, _len: uint, f: fn()) {

0 commit comments

Comments
 (0)