g_utf8_pointer_to_offset returns offsets in char units and not in byte units.
[modest] / src / modest-text-utils.c
index af46517..cd209a8 100644 (file)
@@ -304,8 +304,6 @@ modest_text_utils_derived_subject (const gchar *subject, gboolean is_reply)
        gint prefix_len, untranslated_prefix_len;
        gboolean untranslated_found = FALSE;
 
-       g_return_val_if_fail (prefix, NULL);
-
        if (!subject || subject[0] == '\0')
                subject = _("mail_va_no_subject");
 
@@ -2195,13 +2193,9 @@ quote_name_part (GString **str, gchar **cur, gchar **start)
                        *start = g_utf8_next_char (*cur);
                } else {
                        *str = g_string_append_c (*str, '"');
-                       *str = g_string_append_len (*str, *start,
-                                                   (g_utf8_pointer_to_offset (*start, blank) -
-                                                    g_utf8_pointer_to_offset (*start, *start)));
+                       *str = g_string_append_len (*str, *start, (blank - *start));
                        *str = g_string_append_c (*str, '"');
-                       *str = g_string_append_len (*str, blank,
-                                                   (g_utf8_pointer_to_offset (*start, *cur) -
-                                                    g_utf8_pointer_to_offset (*start, blank)));
+                       *str = g_string_append_len (*str, blank, (*cur - blank));
                        *str = g_string_append (*str, ";");
                        *start = g_utf8_next_char (*cur);
                }