From 7d5f0a6accc31744a855e836bcc7269c9c0407f8 Mon Sep 17 00:00:00 2001 From: Bastien Dejean Date: Fri, 31 Jul 2020 09:45:59 +0200 Subject: [PATCH] Revert "Escape shell chars in the erc arguments" This reverts commit 7a7b17ba280ae0c37cac2fd0c1f309421c6f2a73. --- src/helpers.c | 29 ----------------------------- src/helpers.h | 1 - src/query.c | 14 ++------------ 3 files changed, 2 insertions(+), 42 deletions(-) diff --git a/src/helpers.c b/src/helpers.c index 84199b6..57a82bd 100644 --- a/src/helpers.c +++ b/src/helpers.c @@ -119,35 +119,6 @@ char *copy_string(char *str, size_t len) return cpy; } -char *shell_escape(char *s) -{ - char *e = malloc(2 * strlen(s) + 1); - - if (e == NULL) { - return NULL; - } - - int c = 0; - int j = 0; - - for (size_t i = 0; i < strlen(s); i++) { - if (s[i] == '\\') { - c += 1; - } else { - if (s[i] == '$' || s[i] == '(' || s[i] == ')') { - if (c % 2 == 0) { - e[j++] = '\\'; - } - } - c = 0; - } - e[j++] = s[i]; - } - - e[j] = '\0'; - return e; -} - char *mktempfifo(const char *template) { int tempfd; diff --git a/src/helpers.h b/src/helpers.h index fcff1e0..c65ebbe 100644 --- a/src/helpers.h +++ b/src/helpers.h @@ -79,7 +79,6 @@ void warn(char *fmt, ...); void err(char *fmt, ...); char *read_string(const char *file_path, size_t *tlen); char *copy_string(char *str, size_t len); -char *shell_escape(char *s); char *mktempfifo(const char *template); int asprintf(char **buf, const char *fmt, ...); int vasprintf(char **buf, const char *fmt, va_list args); diff --git a/src/query.c b/src/query.c index f558392..23ae367 100644 --- a/src/query.c +++ b/src/query.c @@ -434,25 +434,15 @@ void print_rule_consequence(char **buf, rule_consequence_t *csq) rect_buf = malloc(1); *rect_buf = '\0'; } - char *monitor_desc = shell_escape(csq->monitor_desc); - char *desktop_desc = shell_escape(csq->desktop_desc); - char *node_desc = shell_escape(csq->node_desc); - char *split_dir = shell_escape(csq->split_dir); asprintf(buf, "monitor=%s desktop=%s node=%s state=%s layer=%s split_dir=%s split_ratio=%lf hidden=%s sticky=%s private=%s locked=%s marked=%s center=%s follow=%s manage=%s focus=%s border=%s rectangle=%s", - monitor_desc == NULL ? "" : monitor_desc, - desktop_desc == NULL ? "" : desktop_desc, - node_desc == NULL ? "" : node_desc, + csq->monitor_desc, csq->desktop_desc, csq->node_desc, csq->state == NULL ? "" : STATE_STR(*csq->state), csq->layer == NULL ? "" : LAYER_STR(*csq->layer), - split_dir == NULL ? "" : split_dir, csq->split_ratio, + csq->split_dir, csq->split_ratio, ON_OFF_STR(csq->hidden), ON_OFF_STR(csq->sticky), ON_OFF_STR(csq->private), ON_OFF_STR(csq->locked), ON_OFF_STR(csq->marked), ON_OFF_STR(csq->center), ON_OFF_STR(csq->follow), ON_OFF_STR(csq->manage), ON_OFF_STR(csq->focus), ON_OFF_STR(csq->border), rect_buf); free(rect_buf); - free(monitor_desc); - free(desktop_desc); - free(node_desc); - free(split_dir); } void print_rectangle(char **buf, xcb_rectangle_t *rect) -- 2.44.0