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:
Victor Marmol 2015-01-20 22:34:10 -08:00
parent 51ed6a47a1
commit 8f0f2299ab
2 changed files with 4 additions and 4 deletions

View File

@ -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 {

View File

@ -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)