1
1
mirror of https://github.com/profanity-im/profanity.git synced 2025-01-03 14:57:42 -05:00

Use g_utf8_find_ functions for prof_occurrences

issue #901
This commit is contained in:
James Booth 2017-04-28 21:41:55 +01:00
parent 2fafaec8a7
commit 3e18aab9f3

View File

@ -467,11 +467,18 @@ prof_occurrences(const char *const needle, const char *const haystack, int offse
gchar *needle_last_ch = g_utf8_offset_to_pointer(needle, g_utf8_strlen(needle, -1)- 1);
int needle_last_ch_len = mblen(needle_last_ch, MB_CUR_MAX);
gchar *haystack_before_ch = g_utf8_prev_char(haystack_curr);
gchar *haystack_after_ch = g_utf8_next_char(haystack_curr + strlen(needle) - needle_last_ch_len);
gunichar before = NULL;
gchar *haystack_before_ch = g_utf8_find_prev_char(haystack, haystack_curr);
if (haystack_before_ch) {
before = g_utf8_get_char(haystack_before_ch);
}
gunichar after = NULL;
gchar *haystack_after_ch = g_utf8_find_next_char(haystack_curr + strlen(needle) - needle_last_ch_len, NULL);
if (haystack_after_ch) {
after = g_utf8_get_char(haystack_after_ch);
}
gunichar before = g_utf8_get_char(haystack_before_ch);
gunichar after = g_utf8_get_char(haystack_after_ch);
if (!g_unichar_isalnum(before) && !g_unichar_isalnum(after)) {
*result = g_slist_append(*result, GINT_TO_POINTER(offset));
}