Code

command.c: put curly braces around a single large statement
[ncmpc.git] / src / charset.c
index 440084406d2f5837d239a356da48b5f068294a9f..34381adfcdc3f195a5d7ac6fa139d2c95b70af89 100644 (file)
@@ -1,5 +1,5 @@
 /* ncmpc (Ncurses MPD Client)
- * (c) 2004-2009 The Music Player Daemon Project
+ * (c) 2004-2010 The Music Player Daemon Project
  * Project homepage: http://musicpd.org
  
  * This program is free software; you can redistribute it and/or modify
@@ -35,26 +35,31 @@ charset_init(void)
 }
 #endif
 
-#ifdef ENABLE_WIDE
+#ifdef HAVE_CURSES_ENHANCED
 static inline unsigned
 unicode_char_width(gunichar ch)
 {
+#if GLIB_CHECK_VERSION(2,14,0)
+       if (g_unichar_iszerowidth(ch))
+               return 0;
+#endif
+
        if (g_unichar_iswide(ch))
                return 2;
 
        return 1;
 }
-#endif /* ENABLE_WIDE */
+#endif /* HAVE_CURSES_ENHANCED */
 
 unsigned
 utf8_width(const char *str)
 {
        assert(str != NULL);
 
-#if defined(ENABLE_MULTIBYTE) && !defined(ENABLE_WIDE)
+#if defined(ENABLE_MULTIBYTE) && !defined(HAVE_CURSES_ENHANCED)
        return g_utf8_strlen(str, -1);
 #else
-#ifdef ENABLE_WIDE
+#ifdef HAVE_CURSES_ENHANCED
        if (g_utf8_validate(str, -1, NULL)) {
                size_t len = g_utf8_strlen(str, -1);
                unsigned width = 0;
@@ -89,7 +94,7 @@ locale_width(const char *p)
 
        return width;
 #else
-       return strlen(str);
+       return strlen(p);
 #endif
 }
 
@@ -143,12 +148,12 @@ utf8_cut_width(char *p, unsigned max_width)
 {
        assert(p != NULL);
 
-#ifdef ENABLE_WIDE
+#ifdef HAVE_CURSES_ENHANCED
        if (!g_utf8_validate(p, -1, NULL))
                return ascii_cut_width(p, max_width);
 
        return wide_cut_width(p, max_width);
-#elif defined(ENABLE_MULTIBYTE) && !defined(ENABLE_WIDE)
+#elif defined(ENABLE_MULTIBYTE) && !defined(HAVE_CURSES_ENHANCED)
        return narrow_cut_width(p, max_width);
 #else
        return ascii_cut_width(p, max_width);