diff options
Diffstat (limited to 'e-util/ename')
-rw-r--r-- | e-util/ename/e-name-western.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/e-util/ename/e-name-western.c b/e-util/ename/e-name-western.c index c016533d91..f8d717c403 100644 --- a/e-util/ename/e-name-western.c +++ b/e-util/ename/e-name-western.c @@ -128,10 +128,12 @@ e_name_western_word_is_suffix (char *word) int i; for (i = 0; e_name_western_sfx_table [i] != NULL; i ++) { - if (g_strcasecmp (word, e_name_western_sfx_table [i])) - continue; - - return TRUE; + int length = strlen (e_name_western_sfx_table [i]); + if (!g_strcasecmp (word, e_name_western_sfx_table [i]) || + ( !g_strncasecmp (word, e_name_western_sfx_table [i], length) && + strlen(word) == length + 1 && + word[length] == '.' )) + return TRUE; } return FALSE; |