Code

charset: added function locale_width()
[ncmpc.git] / src / charset.c
index 8e7ed0f0bba6efac5f98aefa44467b11a01d50a5..6282fbf35167cc7015dafd7822c486934809a0b2 100644 (file)
@@ -62,6 +62,26 @@ utf8_width(const char *str)
 #endif
 }
 
+unsigned
+locale_width(const char *p)
+{
+#if defined(ENABLE_LOCALE) && defined(ENABLE_MULTIBYTE)
+       char *utf8;
+       unsigned width;
+
+       if (noconvert)
+               return utf8_width(p);
+
+       utf8 = locale_to_utf8(p);
+       width = utf8_width(utf8);
+       g_free(utf8);
+
+       return width;
+#else
+       return strlen(str);
+#endif
+}
+
 static inline unsigned
 ascii_cut_width(char *p, unsigned max_width)
 {