MCPcopy Create free account
hub / github.com/ZeppelinMC/Zeppelin / readListArray

Method readListArray

protocol/nbt/qnbt/list.go:74–206  ·  view source on GitHub ↗
(tag byte, l int32, a *array_t)

Source from the content-addressed store, hash-verified

72}
73
74func (d *Decoder) readListArray(tag byte, l int32, a *array_t) error {
75 kind := kindOf(a.elem)
76
77 for i := 0; i < int(l); i++ {
78 iptr := a.index(i)
79
80 //if err := match("", tag, a.elem); err != nil {
81 // return err
82 //}
83
84 switch tag {
85 case byte_t:
86 if err := d.readBytePtr(iptr); err != nil {
87 return err
88 }
89 case short_t:
90 if err := d.readShortPtr(iptr); err != nil {
91 return err
92 }
93 case int_t, float_t:
94 if err := d.readIntPtr(iptr); err != nil {
95 return err
96 }
97 case long_t, double_t:
98 if err := d.readLongPtr(iptr); err != nil {
99 return err
100 }
101 case byte_array_t:
102 switch kind {
103 case array_k:
104 if err := d.readByteArray(iptr); err != nil {
105 return err
106 }
107 case slice_k:
108 l, err := d.readInt()
109 if err != nil {
110 return err
111 }
112
113 ptr := mallocgc(uintptr(l), nil, true)
114 if err := d.decodeByteArray(int(l), ptr); err != nil {
115 return err
116 }
117 setSliceArray(iptr, ptr, int(l))
118 }
119 case string_t:
120 if err := d.readStringPtr(iptr); err != nil {
121 return err
122 }
123 case long_array_t:
124 switch kind {
125 case array_k:
126 if err := d.readLongArray(iptr); err != nil {
127 return err
128 }
129 case slice_k:
130 l, err := d.readInt()
131 if err != nil {

Callers 2

decodeListSliceMethod · 0.95
decodeListArrayMethod · 0.95

Calls 15

readBytePtrMethod · 0.95
readShortPtrMethod · 0.95
readIntPtrMethod · 0.95
readLongPtrMethod · 0.95
readByteArrayMethod · 0.95
readIntMethod · 0.95
decodeByteArrayMethod · 0.95
readStringPtrMethod · 0.95
readLongArrayMethod · 0.95
decodeLongArrayMethod · 0.95
readIntArrayMethod · 0.95
decodeIntArrayMethod · 0.95

Tested by

no test coverage detected