diff options
Diffstat (limited to 'hostname.go')
| -rw-r--r-- | hostname.go | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/hostname.go b/hostname.go deleted file mode 100644 index 85d61c6..0000000 --- a/hostname.go +++ /dev/null @@ -1,53 +0,0 @@ -// +build linux - -package main - -import ( - "fmt" - "os" - "syscall" -) - -// scutil --get ComputerName - -// getDomainName fetches the domain name using the getdomainname syscall. -func getDomainName() (string, error) { - var buf [256]byte - err := syscall.Getdomainname(buf[:]) - if err != nil { - return "", fmt.Errorf("failed to get domain name: %w", err) - } - // Trim null bytes - n := 0 - for ; n < len(buf); n++ { - if buf[n] == 0 { - break - } - } - return string(buf[:n]), nil -} - -// GetFullHostname returns the hostname + domain name (if set). -func GetFullHostname() (string, error) { - host, err := os.Hostname() - if err != nil { - return "", fmt.Errorf("failed to get hostname: %w", err) - } - - domain, err := getDomainName() - if err != nil || domain == "" { - return host, nil // fallback to short hostname - } - - return fmt.Sprintf("%s.%s", host, domain), nil -} - -func main() { - fqdn, err := GetFullHostname() - if err != nil { - fmt.Println("Error:", err) - return - } - fmt.Println("Hostname + Domain:", fqdn) -} - |
