fix stringmarkder bug

This commit is contained in:
nareix 2016-06-23 16:54:55 +08:00
parent cdfd1698d5
commit 6a64a5ec87

View File

@ -86,7 +86,7 @@ func WriteAMF0Val(w *pio.Writer, _val interface{}) (err error) {
case string: case string:
u := len(val) u := len(val)
if u > 65536 { if u <= 65536 {
if err = w.WriteU8(stringmarker); err != nil { if err = w.WriteU8(stringmarker); err != nil {
return return
} }
@ -122,7 +122,7 @@ func WriteAMF0Val(w *pio.Writer, _val interface{}) (err error) {
} }
} }
} }
if err = w.WriteU16BE(0); err != nil { if err = w.WriteU24BE(0x000009); err != nil {
return return
} }
@ -230,6 +230,9 @@ func ReadAMF0Val(r *pio.Reader) (val interface{}, err error) {
} }
obj[okey] = oval obj[okey] = oval
} }
if _, err = r.ReadU8(); err != nil {
return
}
val = obj val = obj
case nullmarker: case nullmarker:
@ -257,6 +260,9 @@ func ReadAMF0Val(r *pio.Reader) (val interface{}, err error) {
} }
obj[okey] = oval obj[okey] = oval
} }
if _, err = r.ReadU8(); err != nil {
return
}
val = obj val = obj
case objectendmarker: case objectendmarker: