diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2020-01-28 08:58:49 -0500 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2020-01-28 08:58:49 -0500 |
commit | 036f7ab20b7bdcddcdbac4071e359602b1a0728f (patch) | |
tree | f35f183c3f3243a2c07ca034139dfe117bed7f25 /rrdformat/unmarshal_binary.go | |
parent | 140ad92a3bbab485ef0f27c7be03d62d10ffd067 (diff) |
wip xml
Diffstat (limited to 'rrdformat/unmarshal_binary.go')
-rw-r--r-- | rrdformat/unmarshal_binary.go | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/rrdformat/unmarshal_binary.go b/rrdformat/unmarshal_binary.go index 923ccb1..bd4c005 100644 --- a/rrdformat/unmarshal_binary.go +++ b/rrdformat/unmarshal_binary.go @@ -8,8 +8,8 @@ import ( ) type RRD struct { - Architecture rrdbinary.Architecture - Data RRDv0005 + Architecture rrdbinary.Architecture `xml:"-"` + Data RRDv0005 `xml:",innerxml"` } func (rrd *RRD) UnmarshalBinary(data []byte) error { @@ -42,7 +42,12 @@ func (rrd *RRD) UnmarshalBinary(data []byte) error { for i := range parsed.RRADefs { val_cnt += int(parsed.RRADefs[i].RowCnt * parsed.Header.DSCnt) } - parsed.Values = make([]RRDValue, val_cnt) + vals := make([]Value, val_cnt) + parsed.Values = vals + for i := range parsed.RRADefs { + parsed.RRADefs[i].Values = vals[:parsed.RRADefs[i].RowCnt*parsed.Header.DSCnt] + vals = vals[parsed.RRADefs[i].RowCnt*parsed.Header.DSCnt:] + } // resume decoding var lastUpdatedPtr interface{} switch parsed.Header.Version { |