src/pkg/os/sys_linux.go - The Go Programming Language

Golang

Source file src/pkg/os/sys_linux.go

     1	// Copyright 2009 The Go Authors. All rights reserved.
     2	// Use of this source code is governed by a BSD-style
     3	// license that can be found in the LICENSE file.
     4	
     5	// Linux-specific
     6	
     7	package os
     8	
     9	func hostname() (name string, err error) {
    10		f, err := Open("/proc/sys/kernel/hostname")
    11		if err != nil {
    12			return "", err
    13		}
    14		defer f.Close()
    15	
    16		var buf [512]byte // Enough for a DNS name.
    17		n, err := f.Read(buf[0:])
    18		if err != nil {
    19			return "", err
    20		}
    21	
    22		if n > 0 && buf[n-1] == '\n' {
    23			n--
    24		}
    25		return string(buf[0:n]), nil
    26	}