From a97428020e315ab63a58abfb8af143ee7468db61 Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Tue, 16 Feb 2021 21:03:38 +0000 Subject: [PATCH] rc.xml: split out rstrip() to string-helpers.c --- include/common/string-helpers.h | 7 +++++++ src/common/string-helpers.c | 10 ++++++++++ src/config/rcxml.c | 17 ++++------------- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/include/common/string-helpers.h b/include/common/string-helpers.h index 9897319a..286c216d 100644 --- a/include/common/string-helpers.h +++ b/include/common/string-helpers.h @@ -8,4 +8,11 @@ */ char *string_strip(char *s); +/** + * string_truncate_at_pattern - remove pattern and everything after it + * @buf: pointer to buffer + * @pattern: string to remove + */ +void string_truncate_at_pattern(char *buf, const char *pattern); + #endif /* __LABWC_STRING_HELPERS_H */ diff --git a/src/common/string-helpers.c b/src/common/string-helpers.c index 5476da80..3a2205f4 100644 --- a/src/common/string-helpers.c +++ b/src/common/string-helpers.c @@ -25,3 +25,13 @@ string_strip(char *s) } return s; } + +void +string_truncate_at_pattern(char *buf, const char *pattern) +{ + char *p = strstr(buf, pattern); + if (!p) { + return; + } + *p = '\0'; +} diff --git a/src/config/rcxml.c b/src/config/rcxml.c index 5008b1de..e390c8d0 100644 --- a/src/config/rcxml.c +++ b/src/config/rcxml.c @@ -14,6 +14,7 @@ #include "common/dir.h" #include "common/font.h" #include "common/log.h" +#include "common/string-helpers.h" #include "config/keybind.h" #include "config/rcxml.h" @@ -30,23 +31,13 @@ enum font_place { /* TODO: Add all places based on Openbox's rc.xml */ }; -static void -rstrip(char *buf, const char *pattern) -{ - char *p = strstr(buf, pattern); - if (!p) { - return; - } - *p = '\0'; -} - static void fill_keybind(char *nodename, char *content) { if (!content) { return; } - rstrip(nodename, ".keybind.keyboard"); + string_truncate_at_pattern(nodename, ".keybind.keyboard"); if (!strcmp(nodename, "key")) { current_keybind = keybind_create(content); } @@ -82,7 +73,7 @@ fill_font(char *nodename, char *content, enum font_place place) if (!content) { return; } - rstrip(nodename, ".font.theme"); + string_truncate_at_pattern(nodename, ".font.theme"); /* TODO: implement for all font places */ if (place != FONT_PLACE_ACTIVEWINDOW) { @@ -118,7 +109,7 @@ entry(xmlNode *node, char *nodename, char *content) if (!nodename) { return; } - rstrip(nodename, ".openbox_config"); + string_truncate_at_pattern(nodename, ".openbox_config"); /* for debugging */ if (write_to_nodename_buffer) {