forked from cloudfoundry/gosigar
-
Notifications
You must be signed in to change notification settings - Fork 76
/
sigar_util.go
30 lines (23 loc) · 662 Bytes
/
sigar_util.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright (c) 2012 VMware, Inc.
package gosigar
import (
"bytes"
)
// byteListToString converts the raw byte arrays we get into a string. This is a bit of a process, as byte strings are normally []uint8
func byteListToString(raw []int8) string {
byteList := make([]byte, len(raw))
for pos, singleByte := range raw {
byteList[pos] = byte(singleByte)
if singleByte == 0 {
break
}
}
return string(bytes.Trim(byteList, "\x00"))
}
func chop(buf []byte) []byte {
return buf[0 : len(buf)-1]
}
// convertBytesToString trims null bytes and returns a string
func convertBytesToString(arr []byte) string {
return string(bytes.Trim(arr, "\x00"))
}