diff options
Diffstat (limited to 'lib/ipc')
-rw-r--r-- | lib/ipc/handler.go | 2 | ||||
-rw-r--r-- | lib/ipc/receive.go | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/ipc/handler.go b/lib/ipc/handler.go index c00acd63..10f42753 100644 --- a/lib/ipc/handler.go +++ b/lib/ipc/handler.go @@ -5,5 +5,5 @@ import "net/url" type Handler interface { Mailto(addr *url.URL) error Mbox(source string) error - Command(args []string) error + Command(cmdline string) error } diff --git a/lib/ipc/receive.go b/lib/ipc/receive.go index 29ed0808..47ffa89f 100644 --- a/lib/ipc/receive.go +++ b/lib/ipc/receive.go @@ -10,6 +10,8 @@ import ( "sync/atomic" "time" + "git.sr.ht/~rjarry/go-opt" + "git.sr.ht/~rjarry/aerc/config" "git.sr.ht/~rjarry/aerc/lib/xdg" "git.sr.ht/~rjarry/aerc/log" @@ -122,9 +124,8 @@ func (as *AercServer) handleMessage(req *Request) *Response { Error: "command rejected: IPC is disabled", } } - - req.Arguments[0] = strings.TrimPrefix(req.Arguments[0], ":") - err := as.handler.Command(req.Arguments) + cmdline := opt.QuoteArgs(req.Arguments...) + err = as.handler.Command(cmdline.String()) if err != nil { return &Response{Error: err.Error()} } |