aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ipc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ipc')
-rw-r--r--lib/ipc/handler.go2
-rw-r--r--lib/ipc/receive.go7
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()}
}