import (
"bufio"
+ "errors"
"fmt"
"io"
"net"
return s.int64
}
-func (device *Device) IpcGetOperation(socket *bufio.Writer) *IPCError {
+func (device *Device) IpcGetOperation(socket *bufio.Writer) error {
lines := make([]string, 0, 100)
send := func(line string) {
lines = append(lines, line)
return nil
}
-func (device *Device) IpcSetOperation(socket *bufio.Reader) *IPCError {
+func (device *Device) IpcSetOperation(socket *bufio.Reader) error {
scanner := bufio.NewScanner(socket)
logError := device.log.Error
logDebug := device.log.Debug
switch op {
case "set=1\n":
- status = device.IpcSetOperation(buffered.Reader)
+ err = device.IpcSetOperation(buffered.Reader)
+ if err != nil && !errors.As(err, &status) {
+ // should never happen
+ device.log.Error.Println("Invalid UAPI error:", err)
+ status = &IPCError{1}
+ }
case "get=1\n":
- status = device.IpcGetOperation(buffered.Writer)
+ err = device.IpcGetOperation(buffered.Writer)
+ if err != nil && !errors.As(err, &status) {
+ // should never happen
+ device.log.Error.Println("Invalid UAPI error:", err)
+ status = &IPCError{1}
+ }
default:
device.log.Error.Println("Invalid UAPI operation:", op)