@@ -16,8 +16,6 @@ package ovs
1616
1717import (
1818 "bytes"
19- "encoding/binary"
20- "encoding/hex"
2119 "errors"
2220 "fmt"
2321 "math"
@@ -302,41 +300,25 @@ func parseTunID(value string) (Match, error) {
302300 }
303301}
304302
305- // pareHexUint16 parses a uint16 value from a hexadecimal string.
303+ // parseHexUint16 parses a uint16 value from a hexadecimal string.
306304func parseHexUint16 (value string ) (uint16 , error ) {
307- b , err := hex . DecodeString (strings .TrimPrefix (value , hexPrefix ))
305+ val , err := strconv . ParseUint (strings .TrimPrefix (value , hexPrefix ), 16 , 32 )
308306 if err != nil {
309307 return 0 , err
310308 }
311- if len (b ) != 2 {
312- return 0 , errors .New ("hexadecimal value must be two bytes in length" )
313- }
314-
315- return binary .BigEndian .Uint16 (b ), nil
309+ return uint16 (val ), nil
316310}
317311
318- // pareHexUint32 parses a uint32 value from a hexadecimal string.
312+ // parseHexUint32 parses a uint32 value from a hexadecimal string.
319313func parseHexUint32 (value string ) (uint32 , error ) {
320- b , err := hex . DecodeString (strings .TrimPrefix (value , hexPrefix ))
314+ val , err := strconv . ParseUint (strings .TrimPrefix (value , hexPrefix ), 16 , 32 )
321315 if err != nil {
322316 return 0 , err
323317 }
324- if len (b ) != 4 {
325- return 0 , errors .New ("hexadecimal value must be four bytes in length" )
326- }
327-
328- return binary .BigEndian .Uint32 (b ), nil
318+ return uint32 (val ), nil
329319}
330320
331- // pareHexUint64 parses a uint64 value from a hexadecimal string.
321+ // parseHexUint64 parses a uint64 value from a hexadecimal string.
332322func parseHexUint64 (value string ) (uint64 , error ) {
333- b , err := hex .DecodeString (strings .TrimPrefix (value , hexPrefix ))
334- if err != nil {
335- return 0 , err
336- }
337- if len (b ) != 8 {
338- return 0 , errors .New ("hexadecimal value must be eight bytes in length" )
339- }
340-
341- return binary .BigEndian .Uint64 (b ), nil
323+ return strconv .ParseUint (strings .TrimPrefix (value , hexPrefix ), 16 , 64 )
342324}
0 commit comments