Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2021-10-24 14:16:51 +0300
committerCampbell Barton <ideasman42@gmail.com>2021-10-24 14:38:25 +0300
commit6ce383a9dfba5c49a48676c3a651804fde3dfe34 (patch)
treeacac52755f97abe010e4faafb14376db5984368e /source/blender/blenlib/intern
parent1411118055368022cf466448d4da8494d05e02c1 (diff)
Cleanup: cross-reference right pointing arrow literal
This value is defined in the UI module, but happens to be used in string_search.cc too. Note that these references need to be kept in sync. Use escaped utf-8 sequence since the literal can be avoided. Also replace BLI_str_utf8_as_unicode calls with constant assignments as these values are known there is no need to decode a utf-8 sequence.
Diffstat (limited to 'source/blender/blenlib/intern')
-rw-r--r--source/blender/blenlib/intern/string_search.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/blenlib/intern/string_search.cc b/source/blender/blenlib/intern/string_search.cc
index a466c124073..08ba473f96b 100644
--- a/source/blender/blenlib/intern/string_search.cc
+++ b/source/blender/blenlib/intern/string_search.cc
@@ -24,6 +24,10 @@
#include "BLI_string_utf8.h"
#include "BLI_timeit.hh"
+/* Right arrow, keep in sync with #UI_MENU_ARROW_SEP in `UI_interface.h`. */
+#define UI_MENU_ARROW_SEP "\xe2\x96\xb6"
+#define UI_MENU_ARROW_SEP_UNICODE 0x25b6
+
namespace blender::string_search {
static int64_t count_utf8_code_points(StringRef str)
@@ -350,8 +354,11 @@ void extract_normalized_words(StringRef str,
LinearAllocator<> &allocator,
Vector<StringRef, 64> &r_words)
{
- const uint32_t unicode_space = BLI_str_utf8_as_unicode(" ");
- const uint32_t unicode_right_triangle = BLI_str_utf8_as_unicode("▶");
+ const uint32_t unicode_space = (uint32_t)' ';
+ const uint32_t unicode_right_triangle = UI_MENU_ARROW_SEP_UNICODE;
+
+ BLI_assert(unicode_space == BLI_str_utf8_as_unicode(" "));
+ BLI_assert(unicode_right_triangle == BLI_str_utf8_as_unicode(UI_MENU_ARROW_SEP));
auto is_separator = [&](uint32_t unicode) {
return ELEM(unicode, unicode_space, unicode_right_triangle);