diff options
author | Dave Davenport <qball@gmpclient.org> | 2017-03-06 10:35:20 +0100 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2017-03-06 10:35:20 +0100 |
commit | 88cde09055aea71a2d49a88efad54156252a0bc3 (patch) | |
tree | 9d43d9f044d08c74596eea28b68f59b3710a5a9f /source/theme.c | |
parent | cb9255bbea60cb3fb729ac4c1ccd6381ae9597ff (diff) | |
parent | 9938317dc5ef1d1abc3b1b92792fe49116e41daa (diff) |
Merge remote-tracking branch 'gitcreate/master'
Diffstat (limited to 'source/theme.c')
-rw-r--r-- | source/theme.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/theme.c b/source/theme.c index 19bbe9bd..0d540f97 100644 --- a/source/theme.c +++ b/source/theme.c @@ -314,17 +314,18 @@ static ThemeWidget *rofi_theme_find ( ThemeWidget *widget, const char *name, con if ( widget == NULL || name == NULL ) { return widget; } - char **names = g_strsplit ( name, ".", 0 ); + char *tname = g_strdup(name ); + char *saveptr = NULL; int found = TRUE; - for ( unsigned int i = 0; found && names && names[i]; i++ ) { + for (const char *iter = strtok_r (tname, ".", &saveptr); iter != NULL ; iter = strtok_r ( NULL, "." , &saveptr ) ) { found = FALSE; - ThemeWidget *f = rofi_theme_find_single ( widget, names[i] ); + ThemeWidget *f = rofi_theme_find_single ( widget, iter ); if ( f != widget ) { widget = f; found = TRUE; } } - g_strfreev ( names ); + g_free ( tname ); if ( !exact || found ) { return widget; } |