rc.xml: split out rstrip() to string-helpers.c

This commit is contained in:
Johan Malm 2021-02-16 21:03:38 +00:00
parent bc04f50d14
commit a97428020e
3 changed files with 21 additions and 13 deletions

View file

@ -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 */

View file

@ -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';
}

View file

@ -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) {