Skip to content

Commit 3a0b99c

Browse files
committed
fixed error handling
1 parent 5201e8a commit 3a0b99c

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

utils.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ func parseByteDateTime(b []byte, loc *time.Location) (time.Time, error) {
147147
return time.Time{}, fmt.Errorf("bad value for field: `%c`", b[4])
148148
}
149149

150-
m, err := parseByte2Digits(b, 5)
150+
m, err := parseByte2Digits(b[5], b[6])
151151
if err != nil {
152152
return time.Time{}, err
153153
}
@@ -160,7 +160,7 @@ func parseByteDateTime(b []byte, loc *time.Location) (time.Time, error) {
160160
return time.Time{}, fmt.Errorf("bad value for field: `%c`", b[7])
161161
}
162162

163-
day, err := parseByte2Digits(b, 8)
163+
day, err := parseByte2Digits(b[8], b[9])
164164
if err != nil {
165165
return time.Time{}, err
166166
}
@@ -175,23 +175,23 @@ func parseByteDateTime(b []byte, loc *time.Location) (time.Time, error) {
175175
return time.Time{}, fmt.Errorf("bad value for field: `%c`", b[10])
176176
}
177177

178-
hour, err := parseByte2Digits(b, 11)
178+
hour, err := parseByte2Digits(b[11], b[12])
179179
if err != nil {
180180
return time.Time{}, err
181181
}
182182
if b[13] != ':' {
183183
return time.Time{}, fmt.Errorf("bad value for field: `%c`", b[13])
184184
}
185185

186-
min, err := parseByte2Digits(b, 14)
186+
min, err := parseByte2Digits(b[14], b[15])
187187
if err != nil {
188188
return time.Time{}, err
189189
}
190190
if b[16] != ':' {
191191
return time.Time{}, fmt.Errorf("bad value for field: `%c`", b[16])
192192
}
193193

194-
sec, err := parseByte2Digits(b, 17)
194+
sec, err := parseByte2Digits(b[17], b[18])
195195
if err != nil {
196196
return time.Time{}, err
197197
}
@@ -217,22 +217,22 @@ func parseByteYear(b []byte) (int, error) {
217217
for i := 0; i < 4; i++ {
218218
v, err := bToi(b[i])
219219
if err != nil {
220-
return 0, fmt.Errorf("invalid time bytes: %s", b)
220+
return 0, err
221221
}
222222
year += v * n
223223
n = n / 10
224224
}
225225
return year, nil
226226
}
227227

228-
func parseByte2Digits(b []byte, index int) (int, error) {
229-
d2, err := bToi(b[index])
228+
func parseByte2Digits(b1, b2 byte) (int, error) {
229+
d2, err := bToi(b1)
230230
if err != nil {
231-
return 0, fmt.Errorf("invalid time bytes: %s", b)
231+
return 0, err
232232
}
233-
d1, err := bToi(b[index+1])
233+
d1, err := bToi(b2)
234234
if err != nil {
235-
return 0, fmt.Errorf("invalid time bytes: %s", b)
235+
return 0, err
236236
}
237237
return d2*10 + d1, nil
238238
}
@@ -248,7 +248,7 @@ func parseByteNanoSec(b []byte) (int, error) {
248248
ns += v * digit
249249
digit /= 10
250250
}
251-
// nanoseconds has 10-digits.
251+
// nanoseconds has 10-digits. (needs to scale digits)
252252
// 10 - 6 = 4, so we have to multiple 1000.
253253
return ns * 1000, nil
254254
}

0 commit comments

Comments
 (0)