From: Arne Zellentin Date: Fri, 26 May 2006 12:36:27 +0000 (+0000) Subject: * bugfix: text not ending with a newline was not quoted correctly X-Git-Tag: git_migration_finished~4735 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=8f5843d6a64f436037db98a24bfd65d8d978077b;hp=ee4d9ff55a30347aff94020cb8450839556f13f5 * bugfix: text not ending with a newline was not quoted correctly * bugfix: text ending with a very long line was not quoted correctly pmo-trunk-r115 --- diff --git a/src/modest-text-utils.c b/src/modest-text-utils.c index 875dd3d..c43475e 100644 --- a/src/modest-text-utils.c +++ b/src/modest-text-utils.c @@ -36,17 +36,30 @@ get_breakpoint(const gchar *s, const gint indent, const gint limit); static GString * get_next_line(GtkTextBuffer *b, GtkTextIter *iter) { - GtkTextIter iter2; + GtkTextIter iter2, iter3; gchar *tmp; + GString *line; + + if (gtk_text_iter_is_end(iter)) + return g_string_new(""); gtk_text_buffer_get_iter_at_line_offset(b, &iter2, gtk_text_iter_get_line(iter), - gtk_text_iter_get_chars_in_line(iter) -1 + gtk_text_iter_get_chars_in_line(iter) - 1 ); - tmp = gtk_text_buffer_get_text(b, &iter2, iter, FALSE); + iter3 = iter2; + gtk_text_iter_forward_char(&iter2); + if (gtk_text_iter_is_end(&iter2)) { + tmp = gtk_text_buffer_get_text(b, &iter2, iter, FALSE); + } else { + tmp = gtk_text_buffer_get_text(b, &iter3, iter, FALSE); + } + line = g_string_new(tmp); + gtk_text_iter_forward_line(iter); - return g_string_new(tmp); + + return line; } static int @@ -215,7 +228,7 @@ modest_text_utils_quote(GtkTextBuffer *buf, const gchar *from, const time_t sent rem_indent = indent; append_quoted(q, indent, l, breakpoint); g_string_free(l, TRUE); - } while (!gtk_text_iter_is_end(&iter)); + } while (remaining->str[0] || !gtk_text_iter_is_end(&iter)); return g_string_free(q, FALSE); }