From 50b9390a43a336c76fa1298a68dcd075b6ffa499 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Thu, 29 Mar 2018 12:09:08 +0200 Subject: [PATCH] dhcp: simplify Utsname conversion (#36) Utsname from golang.org/x/sys/unix contains byte array members instead of int8/uint8. This allows to simplify the NULL byte indexing in addHostname. --- cmd/dhcp/dhcp.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/cmd/dhcp/dhcp.go b/cmd/dhcp/dhcp.go index 744246e..ed82b21 100644 --- a/cmd/dhcp/dhcp.go +++ b/cmd/dhcp/dhcp.go @@ -8,6 +8,7 @@ package main import ( + "bytes" "encoding/binary" "fmt" "io/ioutil" @@ -41,14 +42,7 @@ func addHostname(p *dhcp4.Packet) { if err := unix.Uname(&utsname); err != nil { log.Fatal(err) } - nnb := make([]byte, 0, len(utsname.Nodename)) - for _, i := range utsname.Nodename { - if i == 0 { - break - } - nnb = append(nnb, byte(i)) - } - + nnb := utsname.Nodename[:bytes.IndexByte(utsname.Nodename[:], 0)] p.AddOption(dhcp4.OptionHostName, nnb) }