github.com/gotranspile/cxgo@v0.3.8-0.20240118201721-29871598a6a2/runtime/cnet/unix.go (about)

     1  package cnet
     2  
     3  import (
     4  	"log"
     5  	"os"
     6  	"unsafe"
     7  
     8  	"github.com/gotranspile/cxgo/runtime/libc"
     9  )
    10  
    11  func GetHostname(buf *byte, sz int) int {
    12  	name, err := os.Hostname()
    13  	if err != nil {
    14  		log.Printf("gethostname: %v", err)
    15  		libc.SetErr(err)
    16  		return -1
    17  	}
    18  	b := unsafe.Slice(buf, sz)
    19  	n := copy(b, name)
    20  	if n+1 < len(b) {
    21  		b[n] = 0
    22  	}
    23  	return 0
    24  }