aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands/ipc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands/ipc.c')
-rw-r--r--sway/commands/ipc.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sway/commands/ipc.c b/sway/commands/ipc.c
index 8a7b849f..f0b3035a 100644
--- a/sway/commands/ipc.c
+++ b/sway/commands/ipc.c
@@ -1,3 +1,4 @@
1#define _XOPEN_SOURCE 500
1#include <stdio.h> 2#include <stdio.h>
2#include <string.h> 3#include <string.h>
3#include "sway/security.h" 4#include "sway/security.h"
@@ -18,8 +19,14 @@ struct cmd_results *cmd_ipc(int argc, char **argv) {
18 return error; 19 return error;
19 } 20 }
20 21
21 const char *program = argv[0]; 22 char *program = NULL;
22 23
24 if (!strcmp(argv[0], "*")) {
25 program = strdup(argv[0]);
26 } else if (!(program = resolve_path(argv[0]))) {
27 return cmd_results_new(
28 CMD_INVALID, "ipc", "Unable to resolve IPC Policy target.");
29 }
23 if (config->reading && strcmp("{", argv[1]) != 0) { 30 if (config->reading && strcmp("{", argv[1]) != 0) {
24 return cmd_results_new(CMD_INVALID, "ipc", 31 return cmd_results_new(CMD_INVALID, "ipc",
25 "Expected '{' at start of IPC config definition."); 32 "Expected '{' at start of IPC config definition.");
@@ -32,6 +39,7 @@ struct cmd_results *cmd_ipc(int argc, char **argv) {
32 current_policy = alloc_ipc_policy(program); 39 current_policy = alloc_ipc_policy(program);
33 list_add(config->ipc_policies, current_policy); 40 list_add(config->ipc_policies, current_policy);
34 41
42 free(program);
35 return cmd_results_new(CMD_BLOCK_IPC, NULL, NULL); 43 return cmd_results_new(CMD_BLOCK_IPC, NULL, NULL);
36} 44}
37 45