Skip to content

Commit 1b87e96

Browse files
committed
Fix linter errors
1 parent 5f28de6 commit 1b87e96

2 files changed

Lines changed: 36 additions & 11 deletions

File tree

decoder.go

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ func (d *decoder) setArray(rv reflect.Value, values []interface{}) error {
2323
case []interface{}:
2424
n := reflect.New(indirect.Type().Elem())
2525
indirect.Set(reflect.Append(indirect, reflect.Indirect(n)))
26-
d.setArray(indirect.Index(k).Addr(), decodedValue)
26+
if err := d.setArray(indirect.Index(k).Addr(), decodedValue); err != nil {
27+
return err
28+
}
2729
}
2830
}
2931
return nil
@@ -55,9 +57,13 @@ func (d *decoder) setStruct(rv reflect.Value, values map[string]interface{}) err
5557
case map[string]interface{}:
5658
n := reflect.New(indirect.FieldByName(field.Name).Type())
5759
indirect.FieldByName(field.Name).Set(reflect.Indirect(n))
58-
d.setStruct(indirect.FieldByName(field.Name).Addr(), decodedValue)
60+
if err := d.setStruct(indirect.FieldByName(field.Name).Addr(), decodedValue); err != nil {
61+
return err
62+
}
5963
case []interface{}:
60-
d.setArray(indirect.FieldByName(field.Name).Addr(), decodedValue)
64+
if err := d.setArray(indirect.FieldByName(field.Name).Addr(), decodedValue); err != nil {
65+
return err
66+
}
6167
}
6268
}
6369
}
@@ -86,7 +92,9 @@ func (d *decoder) readString() (string, error) {
8692
}
8793

8894
func (d *decoder) readInteger() (string, error) {
89-
d.reader.ReadByte()
95+
if _, err := d.reader.ReadByte(); err != nil {
96+
return "", err
97+
}
9098
value, err := d.reader.readUntil('e')
9199
if err != nil {
92100
return "", err
@@ -96,7 +104,9 @@ func (d *decoder) readInteger() (string, error) {
96104

97105
func (d *decoder) getValueType() (reflect.Kind, error) {
98106
b, err := d.reader.ReadByte()
99-
defer d.reader.UnreadByte()
107+
defer func() {
108+
err = d.reader.UnreadByte()
109+
}()
100110
if err != nil {
101111
return reflect.Invalid, err
102112
}
@@ -114,7 +124,9 @@ func (d *decoder) getValueType() (reflect.Kind, error) {
114124

115125
func (d *decoder) readList() ([]interface{}, error) {
116126
res := make([]interface{}, 0)
117-
d.reader.ReadByte()
127+
if _, err := d.reader.ReadByte(); err != nil {
128+
return nil, err
129+
}
118130
var v interface{}
119131
for {
120132
e, err := d.reader.ReadByte()
@@ -124,7 +136,9 @@ func (d *decoder) readList() ([]interface{}, error) {
124136
if e == 'e' {
125137
break
126138
}
127-
d.reader.UnreadByte()
139+
if err = d.reader.UnreadByte(); err != nil {
140+
return nil, err
141+
}
128142
vt, err := d.getValueType()
129143
if err != nil {
130144
return res, err
@@ -147,6 +161,9 @@ func (d *decoder) readList() ([]interface{}, error) {
147161
}
148162
case reflect.Map:
149163
v, err = d.readDictionary()
164+
if err != nil {
165+
return res, err
166+
}
150167
}
151168
res = append(res, v)
152169
}
@@ -155,7 +172,9 @@ func (d *decoder) readList() ([]interface{}, error) {
155172

156173
func (d *decoder) readDictionary() (map[string]interface{}, error) {
157174
res := make(map[string]interface{})
158-
d.reader.ReadByte()
175+
if _, err := d.reader.ReadByte(); err != nil {
176+
return nil, err
177+
}
159178
var v interface{}
160179
for {
161180
s, _ := d.readString()
@@ -193,7 +212,9 @@ func (d *decoder) readDictionary() (map[string]interface{}, error) {
193212
if e == 'e' {
194213
break
195214
}
196-
d.reader.UnreadByte()
215+
if err := d.reader.UnreadByte(); err != nil {
216+
return nil, err
217+
}
197218
}
198219
return res, nil
199220
}

encoder.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ func (e *encoder) encodeDict(rv reflect.Value) error {
5454
e.encodeString(indirect.Field(i).Interface().(string))
5555
case reflect.Struct:
5656
e.encodeString(indirect.Type().Field(i).Tag.Get("bencode"))
57-
e.encodeDict(indirect.Field(i).Addr())
57+
if err := e.encodeDict(indirect.Field(i).Addr()); err != nil {
58+
return err
59+
}
5860
case reflect.Slice:
5961
e.encodeString(indirect.Type().Field(i).Tag.Get("bencode"))
6062
e.encodeList(indirect.Field(i).Addr())
@@ -65,7 +67,9 @@ func (e *encoder) encodeDict(rv reflect.Value) error {
6567
}
6668

6769
func (e *encoder) marshal(v any) ([]byte, error) {
68-
e.encodeDict(reflect.ValueOf(v))
70+
if err := e.encodeDict(reflect.ValueOf(v)); err != nil {
71+
return nil, err
72+
}
6973
return e.output.Bytes(), nil
7074
}
7175

0 commit comments

Comments
 (0)