X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmodest-text-utils.c;h=5aa886044fc2d3ca220a6c1337636b4f0658c2f8;hb=54468304d70281e5847f1d92acd70c4a758e97a1;hp=54d76794c1ec9342459f17e37ca1de28e9e14814;hpb=a257b9e8b31184a663ccb7676362d4ac2cb1b039;p=modest diff --git a/src/modest-text-utils.c b/src/modest-text-utils.c index 54d7679..5aa8860 100644 --- 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) { - 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 = g_strconcat (text, SIGNATURE_MARKER, "\n", signature, NULL); + retval = g_strconcat (text, "\n", SIGNATURE_MARKER, "\n", signature, NULL); } return retval; @@ -278,6 +278,11 @@ modest_text_utils_strftime(char *s, gsize max, const char *fmt, time_t timet) { 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); */ @@ -881,7 +886,14 @@ modest_text_utils_quote_plain_text (const gchar *text, 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'); @@ -932,12 +944,6 @@ modest_text_utils_quote_plain_text (const gchar *text, 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); } @@ -965,10 +971,14 @@ modest_text_utils_quote_html (const gchar *text, g_string_new ( \ "\n" \ "\n" \ - "\n"); + "\n
\n"); if (text || cite || signature) { - g_string_append (result_string, "
");
+		g_string_append (result_string, "
\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) {
@@ -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);
 		}
-		if (signature) {
-			quote_html_add_to_gstring (result_string, SIGNATURE_MARKER);
-			quote_html_add_to_gstring (result_string, signature);
-		}
 		g_string_append (result_string, "
"); } g_string_append (result_string, ""); @@ -994,7 +1000,7 @@ cmp_offsets_reverse (const url_match_t *match1, const url_match_t *match2) 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; @@ -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; - if (sub[c]) + if (!sub[c]) 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 (((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); @@ -1312,8 +1319,9 @@ modest_text_utils_utf8_strcmp (const gchar* s1, const gchar *s2, gboolean insens 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); @@ -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 */ - 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;