]> git.ipfire.org Git - thirdparty/wireguard-go.git/commitdiff
device: simplify UAPI helper methods
authorJosh Bleecher Snyder <josh@tailscale.com>
Tue, 22 Dec 2020 18:08:25 +0000 (10:08 -0800)
committerJason A. Donenfeld <Jason@zx2c4.com>
Thu, 7 Jan 2021 13:49:44 +0000 (14:49 +0100)
bufio is not required.

strings.Builder is cheaper than bytes.Buffer for constructing strings.

io.Writer is more flexible than io.StringWriter,
and just as cheap (when used with io.WriteString).

Run gofmt.

Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
device/uapi.go

index 2843a4c20be37d5d677fae4e30ff8c0b6e9c60f7..370ad4eb8e337cac1bd66836f6e03262069f22d9 100644 (file)
@@ -7,7 +7,6 @@ package device
 
 import (
        "bufio"
-       "bytes"
        "errors"
        "fmt"
        "io"
@@ -33,7 +32,7 @@ func (s IPCError) ErrorCode() int64 {
        return s.int64
 }
 
-func (device *Device) IpcGetOperation(w io.StringWriter) error {
+func (device *Device) IpcGetOperation(w io.Writer) error {
        lines := make([]string, 0, 100)
        send := func(line string) {
                lines = append(lines, line)
@@ -99,7 +98,7 @@ func (device *Device) IpcGetOperation(w io.StringWriter) error {
        // send lines (does not require resource locks)
 
        for _, line := range lines {
-               _, err := w.WriteString(line + "\n")
+               _, err := io.WriteString(w, line+"\n")
                if err != nil {
                        return &IPCError{ipc.IpcErrorIO}
                }
@@ -397,22 +396,16 @@ func (device *Device) IpcSetOperation(r io.Reader) error {
        return nil
 }
 
-
-
 func (device *Device) IpcGet() (string, error) {
-       buf := new(bytes.Buffer)
-       writer := bufio.NewWriter(buf)
-       if err := device.IpcGetOperation(writer); err != nil {
-               return "", err
-       }
-       if err := writer.Flush(); err != nil {
+       buf := new(strings.Builder)
+       if err := device.IpcGetOperation(buf); err != nil {
                return "", err
        }
        return buf.String(), nil
 }
 
 func (device *Device) IpcSet(uapiConf string) error {
-       return device.IpcSetOperation(bufio.NewReader(strings.NewReader(uapiConf)))
+       return device.IpcSetOperation(strings.NewReader(uapiConf))
 }
 
 func (device *Device) IpcHandle(socket net.Conn) {