diff --git a/src/options.go b/src/options.go index 09787a4..84e1c88 100644 --- a/src/options.go +++ b/src/options.go @@ -1866,7 +1866,7 @@ func parseOptions(opts *Options, allArgs []string) { addr := defaultListenAddr if given { var err error - err, addr = parseListenAddress(str) + addr, err = parseListenAddress(str) if err != nil { errorExit(err.Error()) } @@ -1964,14 +1964,14 @@ func parseOptions(opts *Options, allArgs []string) { } else if match, value := optString(arg, "--tabstop="); match { opts.Tabstop = atoi(value) } else if match, value := optString(arg, "--listen="); match { - err, addr := parseListenAddress(value) + addr, err := parseListenAddress(value) if err != nil { errorExit(err.Error()) } opts.ListenAddr = &addr opts.Unsafe = false } else if match, value := optString(arg, "--listen-unsafe="); match { - err, addr := parseListenAddress(value) + addr, err := parseListenAddress(value) if err != nil { errorExit(err.Error()) } diff --git a/src/server.go b/src/server.go index 03fe78f..5307f47 100644 --- a/src/server.go +++ b/src/server.go @@ -53,47 +53,47 @@ func (addr listenAddress) IsLocal() bool { var defaultListenAddr = listenAddress{"localhost", 0} -func parseListenAddress(address string) (error, listenAddress) { +func parseListenAddress(address string) (listenAddress, error) { parts := strings.SplitN(address, ":", 3) if len(parts) == 1 { parts = []string{"localhost", parts[0]} } if len(parts) != 2 { - return fmt.Errorf("invalid listen address: %s", address), defaultListenAddr + return defaultListenAddr, fmt.Errorf("invalid listen address: %s", address) } portStr := parts[len(parts)-1] port, err := strconv.Atoi(portStr) if err != nil || port < 0 || port > 65535 { - return fmt.Errorf("invalid listen port: %s", portStr), defaultListenAddr + return defaultListenAddr, fmt.Errorf("invalid listen port: %s", portStr) } if len(parts[0]) == 0 { parts[0] = "localhost" } - return nil, listenAddress{parts[0], port} + return listenAddress{parts[0], port}, nil } -func startHttpServer(address listenAddress, actionChannel chan []*action, responseChannel chan string) (error, int) { +func startHttpServer(address listenAddress, actionChannel chan []*action, responseChannel chan string) (int, error) { host := address.host port := address.port apiKey := os.Getenv("FZF_API_KEY") if !address.IsLocal() && len(apiKey) == 0 { - return fmt.Errorf("FZF_API_KEY is required to allow remote access"), port + return port, fmt.Errorf("FZF_API_KEY is required to allow remote access") } addrStr := fmt.Sprintf("%s:%d", host, port) listener, err := net.Listen("tcp", addrStr) if err != nil { - return fmt.Errorf("failed to listen on %s", addrStr), port + return port, fmt.Errorf("failed to listen on %s", addrStr) } if port == 0 { addr := listener.Addr().String() parts := strings.Split(addr, ":") if len(parts) < 2 { - return fmt.Errorf("cannot extract port: %s", addr), port + return port, fmt.Errorf("cannot extract port: %s", addr) } var err error port, err = strconv.Atoi(parts[len(parts)-1]) if err != nil { - return err, port + return port, err } } @@ -119,7 +119,7 @@ func startHttpServer(address listenAddress, actionChannel chan []*action, respon listener.Close() }() - return nil, port + return port, nil } // Here we are writing a simplistic HTTP server without using net/http diff --git a/src/terminal.go b/src/terminal.go index 2069571..9590140 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -829,7 +829,7 @@ func NewTerminal(opts *Options, eventBox *util.EventBox) *Terminal { _, t.hasLoadActions = t.keymap[tui.Load.AsEvent()] if t.listenAddr != nil { - err, port := startHttpServer(*t.listenAddr, t.serverInputChan, t.serverOutputChan) + port, err := startHttpServer(*t.listenAddr, t.serverInputChan, t.serverOutputChan) if err != nil { errorExit(err.Error()) }