(s string)
| 358 | } |
| 359 | |
| 360 | func (e *encoder) writeString(s string) { |
| 361 | if e.buf != nil { |
| 362 | e.buf = append(e.buf, s...) |
| 363 | return |
| 364 | } |
| 365 | var err error |
| 366 | if sw, ok := e.rw.(interface{ WriteString(string) (int, error) }); ok { |
| 367 | _, err = sw.WriteString(s) |
| 368 | } else { |
| 369 | _, err = e.rw.Write([]byte(s)) |
| 370 | } |
| 371 | e.check(err) |
| 372 | } |
| 373 | |
| 374 | func (e *encoder) read(b []byte) { |
| 375 | _, err := io.ReadFull(e.rw, b) |