projects
/
modest
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* Fixes NB#95888, replaced a logical id by the new one
[modest]
/
src
/
modest-text-utils.c
diff --git
a/src/modest-text-utils.c
b/src/modest-text-utils.c
index
54d7679
..
5aa8860
100644
(file)
--- a/
src/modest-text-utils.c
+++ b/
src/modest-text-utils.c
@@
-215,11
+215,11
@@
modest_text_utils_cite (const gchar *text,
if (!signature)
retval = g_strdup ("");
else if (strcmp(content_type, "text/html") == 0) {
if (!signature)
retval = g_strdup ("");
else if (strcmp(content_type, "text/html") == 0) {
- tmp_sig = g_strconcat (SIGNATURE_MARKER,"\n", signature, NULL);
+ tmp_sig = g_strconcat ("\n", SIGNATURE_MARKER,"\n", signature, NULL);
retval = modest_text_utils_convert_to_html_body(tmp_sig, -1, TRUE);
g_free (tmp_sig);
} else {
retval = modest_text_utils_convert_to_html_body(tmp_sig, -1, TRUE);
g_free (tmp_sig);
} else {
- retval = g_strconcat (text, SIGNATURE_MARKER, "\n", signature, NULL);
+ retval = g_strconcat (text, "\n", SIGNATURE_MARKER, "\n", signature, NULL);
}
return retval;
}
return retval;
@@
-278,6
+278,11
@@
modest_text_utils_strftime(char *s, gsize max, const char *fmt, time_t timet)
{
struct tm tm;
{
struct tm tm;
+ /* To prevent possible problems in strftime that could leave
+ garbage in the s variable */
+ if (s)
+ s[0] = '\0';
+
/* does not work on old maemo glib:
* g_date_set_time_t (&date, timet);
*/
/* does not work on old maemo glib:
* g_date_set_time_t (&date, timet);
*/
@@
-881,7
+886,14
@@
modest_text_utils_quote_plain_text (const gchar *text,
gsize len;
gchar *attachments_string = NULL;
gsize len;
gchar *attachments_string = NULL;
- q = g_string_new ("\n");
+ q = g_string_new ("");
+
+ if (signature != NULL) {
+ q = g_string_append (q, "\n--\n");
+ q = g_string_append (q, signature);
+ }
+
+ q = g_string_append (q, "\n");
q = g_string_append (q, cite);
q = g_string_append_c (q, '\n');
q = g_string_append (q, cite);
q = g_string_append_c (q, '\n');
@@
-932,12
+944,6
@@
modest_text_utils_quote_plain_text (const gchar *text,
q = g_string_append (q, attachments_string);
g_free (attachments_string);
q = g_string_append (q, attachments_string);
g_free (attachments_string);
- if (signature != NULL) {
- q = g_string_append (q, "\n--\n");
- q = g_string_append (q, signature);
- q = g_string_append_c (q, '\n');
- }
-
return g_string_free (q, FALSE);
}
return g_string_free (q, FALSE);
}
@@
-965,10
+971,14
@@
modest_text_utils_quote_html (const gchar *text,
g_string_new ( \
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n" \
"<html>\n" \
g_string_new ( \
"<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n" \
"<html>\n" \
- "<body>\n");
+ "<body>\n<br/>\n");
if (text || cite || signature) {
if (text || cite || signature) {
- g_string_append (result_string, "<pre>");
+ g_string_append (result_string, "<pre>\n");
+ if (signature) {
+ quote_html_add_to_gstring (result_string, SIGNATURE_MARKER);
+ quote_html_add_to_gstring (result_string, signature);
+ }
quote_html_add_to_gstring (result_string, cite);
quote_html_add_to_gstring (result_string, text);
if (attachments) {
quote_html_add_to_gstring (result_string, cite);
quote_html_add_to_gstring (result_string, text);
if (attachments) {
@@
-976,10
+986,6
@@
modest_text_utils_quote_html (const gchar *text,
quote_html_add_to_gstring (result_string, attachments_string);
g_free (attachments_string);
}
quote_html_add_to_gstring (result_string, attachments_string);
g_free (attachments_string);
}
- if (signature) {
- quote_html_add_to_gstring (result_string, SIGNATURE_MARKER);
- quote_html_add_to_gstring (result_string, signature);
- }
g_string_append (result_string, "</pre>");
}
g_string_append (result_string, "</body>");
g_string_append (result_string, "</pre>");
}
g_string_append (result_string, "</body>");
@@
-994,7
+1000,7
@@
cmp_offsets_reverse (const url_match_t *match1, const url_match_t *match2)
return match2->offset - match1->offset;
}
return match2->offset - match1->offset;
}
-static gboolean url_matches_block = 0;
+static gint url_matches_block = 0;
static url_match_pattern_t patterns[] = MAIL_VIEWER_URL_MATCH_PATTERNS;
static url_match_pattern_t patterns[] = MAIL_VIEWER_URL_MATCH_PATTERNS;
@@
-1268,7
+1274,7
@@
modest_text_utils_get_subject_prefix_len (const gchar *sub)
int c = prefix_len + 1;
while (sub[c] && sub[c] != ']')
++c;
int c = prefix_len + 1;
while (sub[c] && sub[c] != ']')
++c;
- if (sub[c])
+ if (!sub[c])
return 0; /* no end to the ']' found */
else
prefix_len = c + 1;
return 0; /* no end to the ']' found */
else
prefix_len = c + 1;
@@
-1303,7
+1309,8
@@
modest_text_utils_utf8_strcmp (const gchar* s1, const gchar *s2, gboolean insens
if (!insensitive) {
/* optimization: shortcut if first char is ascii */
if (!insensitive) {
/* optimization: shortcut if first char is ascii */
- if (((s1[0] & 0xf0)== 0) && ((s2[0] & 0xf0) == 0))
+ if (((s1[0] & 0x80)== 0) && ((s2[0] & 0x80) == 0) &&
+ (s1[0] != s2[0]))
return s1[0] - s2[0];
return g_utf8_collate (s1, s2);
return s1[0] - s2[0];
return g_utf8_collate (s1, s2);
@@
-1312,8
+1319,9
@@
modest_text_utils_utf8_strcmp (const gchar* s1, const gchar *s2, gboolean insens
gint result;
gchar *n1, *n2;
gint result;
gchar *n1, *n2;
- /* optimization: short cut iif first char is ascii */
- if (((s1[0] & 0xf0) == 0) && ((s2[0] & 0xf0) == 0))
+ /* optimization: shortcut if first char is ascii */
+ if (((s1[0] & 0x80) == 0) && ((s2[0] & 0x80) == 0) &&
+ (s1[0] != s2[0]))
return tolower(s1[0]) - tolower(s2[0]);
n1 = g_utf8_strdown (s1, -1);
return tolower(s1[0]) - tolower(s2[0]);
n1 = g_utf8_strdown (s1, -1);
@@
-1391,8
+1399,8
@@
modest_text_utils_validate_folder_name (const gchar *folder_name)
/* Cannot contain Windows port numbers. I'd like to use GRegex
but it's still not available in Maemo. sergio */
/* Cannot contain Windows port numbers. I'd like to use GRegex
but it's still not available in Maemo. sergio */
- if (g_ascii_strncasecmp (folder_name, "LPT", 3) ||
- g_ascii_strncasecmp (folder_name, "COM", 3)) {
+ if (!g_ascii_strncasecmp (folder_name, "LPT", 3) ||
+ !g_ascii_strncasecmp (folder_name, "COM", 3)) {
glong val;
gchar *endptr;
glong val;
gchar *endptr;