gboolean written_prefix;
gsize linkify_limit;
gsize full_limit;
+ gsize line_limit;
gsize total_output;
+ gsize total_lines_output;
};
#define MODEST_STREAM_TEXT_TO_HTML_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE((o), \
MODEST_TYPE_STREAM_TEXT_TO_HTML, \
priv->linkify_limit = 0;
priv->full_limit = 0;
priv->total_output = 0;
+ priv->total_lines_output = 0;
modest_text_utils_hyperlinkify_begin ();
}
}
void
+modest_stream_text_to_html_set_line_limit (ModestStreamTextToHtml *self, gssize limit)
+{
+ ModestStreamTextToHtmlPrivate *priv = MODEST_STREAM_TEXT_TO_HTML_GET_PRIVATE (self);
+ priv->line_limit = limit;
+}
+
+void
modest_stream_text_to_html_set_linkify_limit (ModestStreamTextToHtml *self, gssize limit)
{
ModestStreamTextToHtmlPrivate *priv = MODEST_STREAM_TEXT_TO_HTML_GET_PRIVATE (self);
preserve the prefix and suffix */
if (convert_to_html && (priv->full_limit > 0) &&(priv->total_output > priv->full_limit))
return TRUE;
+ if (convert_to_html && (priv->line_limit > 0) && (priv->total_lines_output > priv->line_limit))
+ return TRUE;
if ((priv->linkify_limit > 0) && (priv->total_output > priv->linkify_limit))
hyperlinkify = FALSE;
if (convert_to_html) {
pending_bytes = strlen (html_buffer);
priv->total_output += pending_bytes;
+ priv->total_lines_output ++;
offset = html_buffer;
while (pending_bytes > 0) {
while (n > 0) {
gchar c = *buffer;
+
+ if ((priv->full_limit > 0) && (priv->total_output > priv->full_limit))
+ return n;
+ if ((priv->line_limit > 0) && (priv->total_lines_output > priv->line_limit))
+ return n;
+
if (priv->line_buffer == NULL)
priv->line_buffer = g_string_new (NULL);
void modest_stream_text_to_html_set_linkify_limit (ModestStreamTextToHtml *self, gssize limit);
void modest_stream_text_to_html_set_full_limit (ModestStreamTextToHtml *self, gssize limit);
+void modest_stream_text_to_html_set_line_limit (ModestStreamTextToHtml *self, gssize limit);
G_END_DECLS
64*1024);
modest_stream_text_to_html_set_full_limit (MODEST_STREAM_TEXT_TO_HTML (text_to_html_stream),
128*1024);
+ modest_stream_text_to_html_set_line_limit (MODEST_STREAM_TEXT_TO_HTML (text_to_html_stream),
+ 1024);
tny_mime_part_decode_to_stream_async (TNY_MIME_PART (part),
text_to_html_stream, decode_to_stream_cb,