From: Yu Watanabe Date: Tue, 21 Jul 2026 05:35:56 +0000 (+0900) Subject: utf8: split out unichar_console_width() from utf8_char_console_width() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c0d4b5061a169ca09e5caceb5f17f6533377049;p=thirdparty%2Fsystemd.git utf8: split out unichar_console_width() from utf8_char_console_width() It will be used later. --- diff --git a/src/basic/utf8.c b/src/basic/utf8.c index faa3df9d87c..0fccc4711cb 100644 --- a/src/basic/utf8.c +++ b/src/basic/utf8.c @@ -179,10 +179,16 @@ int utf8_char_console_width(const char *str) { char32_t c; int r; + assert(str); + r = utf8_encoded_to_unichar(str, &c); if (r < 0) return r; + return unichar_console_width(c); +} + +int unichar_console_width(char32_t c) { if (c == '\t') return 8; /* Assume a tab width of 8 */ diff --git a/src/basic/utf8.h b/src/basic/utf8.h index dc97f4aee71..fde72a0d542 100644 --- a/src/basic/utf8.h +++ b/src/basic/utf8.h @@ -55,6 +55,7 @@ static inline char32_t utf16_surrogate_pair_to_unichar(char16_t lead, char16_t t size_t utf8_n_codepoints(const char *str) _pure_; int utf8_char_console_width(const char *str) _pure_; +int unichar_console_width(char32_t c) _pure_; size_t utf8_console_width(const char *str) _pure_; size_t utf8_last_length(const char *s, size_t n) _pure_;