Make network fields signed integers.
The kernel reports -1 in case of errors so it should be an allowable returned value. Fixes #454.
This commit is contained in:
parent
51ed6a47a1
commit
8f0f2299ab
@ -106,10 +106,10 @@ type NetInfo struct {
|
|||||||
MacAddress string `json:"mac_address"`
|
MacAddress string `json:"mac_address"`
|
||||||
|
|
||||||
// Speed in MBits/s
|
// Speed in MBits/s
|
||||||
Speed uint64 `json:"speed"`
|
Speed int64 `json:"speed"`
|
||||||
|
|
||||||
// Maximum Transmission Unit
|
// Maximum Transmission Unit
|
||||||
Mtu uint64 `json:"mtu"`
|
Mtu int64 `json:"mtu"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MachineInfo struct {
|
type MachineInfo struct {
|
||||||
|
@ -112,7 +112,7 @@ func GetNetworkDevices(sysfs sysfs.SysFs) ([]info.NetInfo, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var mtu uint64
|
var mtu int64
|
||||||
n, err := fmt.Sscanf(mtuStr, "%d", &mtu)
|
n, err := fmt.Sscanf(mtuStr, "%d", &mtu)
|
||||||
if err != nil || n != 1 {
|
if err != nil || n != 1 {
|
||||||
return nil, fmt.Errorf("could not parse mtu from %s for device %s", mtuStr, name)
|
return nil, fmt.Errorf("could not parse mtu from %s for device %s", mtuStr, name)
|
||||||
@ -125,7 +125,7 @@ func GetNetworkDevices(sysfs sysfs.SysFs) ([]info.NetInfo, error) {
|
|||||||
speed, err := sysfs.GetNetworkSpeed(name)
|
speed, err := sysfs.GetNetworkSpeed(name)
|
||||||
// Some devices don't set speed.
|
// Some devices don't set speed.
|
||||||
if err == nil {
|
if err == nil {
|
||||||
var s uint64
|
var s int64
|
||||||
n, err := fmt.Sscanf(speed, "%d", &s)
|
n, err := fmt.Sscanf(speed, "%d", &s)
|
||||||
if err != nil || n != 1 {
|
if err != nil || n != 1 {
|
||||||
return nil, fmt.Errorf("could not parse speed from %s for device %s", speed, name)
|
return nil, fmt.Errorf("could not parse speed from %s for device %s", speed, name)
|
||||||
|
Loading…
Reference in New Issue
Block a user