mirror of
https://github.com/davatorium/rofi.git
synced 2025-07-31 21:59:25 -04:00
handle failed regex better.
This commit is contained in:
parent
00c8439b57
commit
38d2bc717a
1 changed files with 9 additions and 8 deletions
|
@ -185,8 +185,10 @@ char **tokenize ( const char *input, int case_sensitive )
|
|||
else if ( config.regex ) {
|
||||
GRegex *reg = g_regex_new ( input, ( case_sensitive ) ? 0 : G_REGEX_CASELESS, G_REGEX_MATCH_PARTIAL, NULL );
|
||||
if ( reg == NULL ) {
|
||||
gchar *r = g_regex_escape_string ( input, -1 );
|
||||
reg = g_regex_new ( r, ( case_sensitive ) ? 0 : G_REGEX_CASELESS, G_REGEX_MATCH_PARTIAL, NULL );
|
||||
g_free ( r );
|
||||
g_free ( retv );
|
||||
return NULL;
|
||||
}
|
||||
retv[0] = (char *) reg;
|
||||
}
|
||||
|
@ -214,12 +216,11 @@ char **tokenize ( const char *input, int case_sensitive )
|
|||
g_free ( str );
|
||||
}
|
||||
else if ( config.regex ) {
|
||||
GError *error = NULL;
|
||||
retv[num_tokens] = (char *) g_regex_new ( token, case_sensitive?0:G_REGEX_CASELESS, 0, &error);
|
||||
retv[num_tokens] = (char *) g_regex_new ( token, case_sensitive ? 0 : G_REGEX_CASELESS, 0, NULL );
|
||||
if ( retv[num_tokens] == NULL ) {
|
||||
fprintf ( stderr, "Failed to parse: '%s'\n", error->message );
|
||||
g_error_free(error);
|
||||
num_tokens--;
|
||||
gchar *r = g_regex_escape_string ( input, -1 );
|
||||
retv[num_tokens] = (char *) g_regex_new ( r, ( case_sensitive ) ? 0 : G_REGEX_CASELESS, G_REGEX_MATCH_PARTIAL, NULL );
|
||||
g_free ( r );
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue