ecore_imf/wayland: Use simple code to fix infinite loop bug related to ibus-hangul
authorJihoon Kim <jihoon48.kim@samsung.com>
Fri, 10 Oct 2014 01:01:53 +0000 (10:01 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Fri, 10 Oct 2014 01:01:53 +0000 (10:01 +0900)
src/modules/ecore_imf/wayland/wayland_imcontext.c

index 70b8cab..c324d1a 100644 (file)
@@ -82,17 +82,12 @@ utf8_offset_to_characters(const char *str, int offset)
 {
    int index = 0;
    unsigned int i = 0;
-   int len = 0;
-
-   if (!str) return 0;
-
-   len = strlen(str);
-
-   if (offset > len)
-     offset = len;
 
    for (; index < offset; i++)
-     eina_unicode_utf8_next_get(str, &index);
+     {
+        if (eina_unicode_utf8_next_get(str, &index) == 0)
+          break;
+     }
 
    return i;
 }