diff options
author | Dave Davenport <qball@gmpclient.org> | 2016-05-22 17:47:34 +0200 |
---|---|---|
committer | Dave Davenport <qball@gmpclient.org> | 2016-05-22 17:47:34 +0200 |
commit | 498fadc735df509ef0a864db1e93d2120d8eb9ee (patch) | |
tree | 8d322b8736c615cc0ba51c9b40ad30d3a9668480 /source/dialogs/dmenu.c | |
parent | 8091558ed8234914b398fe288aaccfe9770dac9c (diff) |
Remove the is_ascii mess.
Diffstat (limited to 'source/dialogs/dmenu.c')
-rw-r--r-- | source/dialogs/dmenu.c | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/source/dialogs/dmenu.c b/source/dialogs/dmenu.c index 56f397bf..4d4cdbbc 100644 --- a/source/dialogs/dmenu.c +++ b/source/dialogs/dmenu.c @@ -332,16 +332,10 @@ static int dmenu_mode_init ( Mode *sw ) return TRUE; } -static int dmenu_token_match ( const Mode *sw, char **tokens, int not_ascii, int case_sensitive, unsigned int index ) +static int dmenu_token_match ( const Mode *sw, GRegex **tokens, unsigned int index ) { DmenuModePrivateData *rmpd = (DmenuModePrivateData *) mode_get_private_data ( sw ); - return token_match ( tokens, rmpd->cmd_list[index], not_ascii, case_sensitive ); -} - -static int dmenu_is_not_ascii ( const Mode *sw, unsigned int index ) -{ - DmenuModePrivateData *rmpd = (DmenuModePrivateData *) mode_get_private_data ( sw ); - return !g_str_is_ascii ( rmpd->cmd_list[index] ); + return token_match ( tokens, rmpd->cmd_list[index] ); } #include "mode-private.h" @@ -356,7 +350,6 @@ Mode dmenu_mode = ._token_match = dmenu_token_match, ._get_display_value = get_display_data, ._get_completion = NULL, - ._is_not_ascii = dmenu_is_not_ascii, .private_data = NULL, .free = NULL }; @@ -516,25 +509,25 @@ int dmenu_switcher_dialog ( void ) char *select = NULL; find_arg_str ( "-select", &select ); if ( select != NULL ) { - char **tokens = tokenize ( select, config.case_sensitive ); + GRegex **tokens = tokenize ( select, config.case_sensitive ); unsigned int i = 0; for ( i = 0; i < cmd_list_length; i++ ) { - if ( token_match ( tokens, cmd_list[i], !g_str_is_ascii ( cmd_list[i] ), config.case_sensitive ) ) { + if ( token_match ( tokens, cmd_list[i] ) ) { pd->selected_line = i; break; } } - g_strfreev ( tokens ); + tokenize_free ( tokens ); } if ( find_arg ( "-dump" ) >= 0 ) { - char **tokens = tokenize ( config.filter ? config.filter : "", config.case_sensitive ); + GRegex **tokens = tokenize ( config.filter ? config.filter : "", config.case_sensitive ); unsigned int i = 0; for ( i = 0; i < cmd_list_length; i++ ) { - if ( token_match ( tokens, cmd_list[i], !g_str_is_ascii ( cmd_list[i] ), config.case_sensitive ) ) { + if ( token_match ( tokens, cmd_list[i] ) ) { dmenu_output_formatted_line ( pd->format, cmd_list[i], i, config.filter ); } } - g_strfreev ( tokens ); + tokenize_free ( tokens ); return TRUE; } // TODO remove |