github.com/elastic/gosigar@v0.14.3/sigar_util.go (about)

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