mirror of
https://github.com/profanity-im/profanity.git
synced 2025-02-02 15:08:15 -05:00
parent
2fafaec8a7
commit
3e18aab9f3
15
src/common.c
15
src/common.c
@ -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);
|
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);
|
int needle_last_ch_len = mblen(needle_last_ch, MB_CUR_MAX);
|
||||||
|
|
||||||
gchar *haystack_before_ch = g_utf8_prev_char(haystack_curr);
|
gunichar before = NULL;
|
||||||
gchar *haystack_after_ch = g_utf8_next_char(haystack_curr + strlen(needle) - needle_last_ch_len);
|
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)) {
|
if (!g_unichar_isalnum(before) && !g_unichar_isalnum(after)) {
|
||||||
*result = g_slist_append(*result, GINT_TO_POINTER(offset));
|
*result = g_slist_append(*result, GINT_TO_POINTER(offset));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user