pull/4/head
WAKAYAMA shirou 11 years ago
parent ac570a47a1
commit 4bf256a08a

@ -10,7 +10,6 @@ import (
"bufio" "bufio"
"os" "os"
"strings" "strings"
) )
// Read contents from file and split by new line. // Read contents from file and split by new line.
@ -33,8 +32,7 @@ func ReadLines(filename string) ([]string, error) {
return ret, err return ret, err
} }
func byteToString(orig []byte) string {
func byteToString(orig []byte) string{
n := -1 n := -1
for i, b := range orig { for i, b := range orig {
if b == 0 { if b == 0 {
@ -42,9 +40,9 @@ func byteToString(orig []byte) string{
} }
n = i + 1 n = i + 1
} }
if n == -1{ if n == -1 {
return string(orig) return string(orig)
}else{ } else {
return string(orig[:n]) return string(orig[:n])
} }

@ -9,6 +9,5 @@ import (
func Cpu_times() ([]CPU_TimesStat, error) { func Cpu_times() ([]CPU_TimesStat, error) {
ret := make([]CPU_TimesStat, 0) ret := make([]CPU_TimesStat, 0)
fmt.Println("FreeBSD")
return ret, nil return ret, nil
} }

@ -3,8 +3,8 @@
package gopsutil package gopsutil
import ( import (
"encoding/binary"
"bytes" "bytes"
"encoding/binary"
"io/ioutil" "io/ioutil"
"os" "os"
"syscall" "syscall"
@ -75,17 +75,17 @@ func Users() ([]UserStat, error) {
for i := 0; i < count; i++ { for i := 0; i < count; i++ {
b := buf[i*entrySize : i*entrySize+entrySize] b := buf[i*entrySize : i*entrySize+entrySize]
var u utmp var u utmp
br := bytes.NewReader(b) br := bytes.NewReader(b)
err := binary.Read(br, binary.LittleEndian, &u) err := binary.Read(br, binary.LittleEndian, &u)
if err != nil { if err != nil {
continue continue
} }
user := UserStat{ user := UserStat{
User: byteToString(u.Ut_user[:]), User: byteToString(u.Ut_user[:]),
Terminal: byteToString(u.Ut_line[:]), Terminal: byteToString(u.Ut_line[:]),
Host: byteToString(u.Ut_host[:]), Host: byteToString(u.Ut_host[:]),
Started: int(u.Ut_tv.Tv_sec), Started: int(u.Ut_tv.Tv_sec),
} }
ret = append(ret, user) ret = append(ret, user)
} }

@ -24,14 +24,13 @@ func TestBoot_time(t *testing.T) {
} }
} }
func TestUsers(t *testing.T) { func TestUsers(t *testing.T) {
v, err := Users() v, err := Users()
if err != nil { if err != nil {
t.Errorf("error %v", err) t.Errorf("error %v", err)
} }
for _, u := range v { for _, u := range v {
if u.User == ""{ if u.User == "" {
t.Errorf("Could not Users %v", v) t.Errorf("Could not Users %v", v)
} }
} }

Loading…
Cancel
Save