diff --git a/sway/commands/exec_always.c b/sway/commands/exec_always.c index f631d7d8..1d95dc96 100644 --- a/sway/commands/exec_always.c +++ b/sway/commands/exec_always.c @@ -11,7 +11,6 @@ #include "log.h" #include "stringop.h" - struct cmd_results *cmd_exec_always(int argc, char **argv) { struct cmd_results *error = NULL; if (!config->active) return cmd_results_new(CMD_DEFER, NULL, NULL); @@ -63,8 +62,7 @@ struct cmd_results *cmd_exec_always(int argc, char **argv) { size_t n = confstr(_CS_PATH, NULL, 0); path = malloc(n + extra_size); if (!path) { - wlr_log(L_ERROR, "exec_always: Unable to allocate PATH"); - exit(EXIT_FAILURE); + return cmd_results_new(CMD_FAILURE, "exec_always", "Unable to allocate PATH"); } confstr(_CS_PATH, path, n); @@ -72,8 +70,7 @@ struct cmd_results *cmd_exec_always(int argc, char **argv) { size_t n = strlen(path) + 1; char *tmp = malloc(n + extra_size); if (!tmp) { - wlr_log(L_ERROR, "exec_always: Unable to allocate PATH"); - exit(EXIT_FAILURE); + return cmd_results_new(CMD_FAILURE, "exec_always", "Unable to allocate PATH"); } strncpy(tmp, path, n); @@ -84,8 +81,7 @@ struct cmd_results *cmd_exec_always(int argc, char **argv) { strcat(path, extra_path); if (setenv("PATH", path, 1) == -1) { free(path); - wlr_log(L_ERROR, "exec_always: Unable to set PATH"); - exit(EXIT_FAILURE); + return cmd_results_new(CMD_FAILURE, "exec_always", "Unable to set PATH"); } free(path);