mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-26 00:56:22 +00:00
refactor: optimize prof_occurrences()
Optimize prof_occurrences by using pointer arithmetic and g_utf8_next_char instead of calls to g_utf8_offset_to_pointer. Improve list construction efficiency in prof_occurrences by using g_slist_prepend and g_slist_reverse instead of appends. Also fix a slight oversight that could lead to trouble: When empty search strings (e.g. empty nicks) are passed it caused matches at every position. Update the test case to test for empty nicks.
This commit is contained in:
@@ -923,6 +923,11 @@ get_mentions_tests(void** state)
|
||||
assert_true(_lists_equal(actual, expected)); // expected is NULL
|
||||
g_slist_free(actual); actual = NULL;
|
||||
|
||||
// Empty nick
|
||||
actual = get_mentions(FALSE, TRUE, "hello", "");
|
||||
assert_true(_lists_equal(actual, expected)); // expected is NULL
|
||||
g_slist_free(actual); actual = NULL;
|
||||
|
||||
// UTF-8 characters
|
||||
expected = g_slist_append(expected, GINT_TO_POINTER(0));
|
||||
actual = get_mentions(TRUE, TRUE, "我能 hello", "我能");
|
||||
|
||||
Reference in New Issue
Block a user