X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-text-utils.c;h=7f06a9913882cd80824707664dc54f7a6df5d4bb;hp=85df268d6be6532e54628e03c6170d943531df4c;hb=696513af58477062f87cf9095ba2760f7492ade0;hpb=0f332c6c834094611227374422ba0afccd560cf8 diff --git a/src/modest-text-utils.c b/src/modest-text-utils.c index 85df268..7f06a99 100644 --- a/src/modest-text-utils.c +++ b/src/modest-text-utils.c @@ -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); */ @@ -621,8 +626,17 @@ modest_text_utils_split_addresses_list (const gchar *addresses) /* nope, we are at the start of some address * now, let's find the end of the address */ end = my_addrs + 1; - while (end[0] && end[0] != ',' && end[0] != ';') + while (end[0] && end[0] != ';') { + if (end[0] == '\"') { + while (end[0] && end[0] != '\"') + ++end; + } + if ((end[0] && end[0] == '>')&&(end[1] && end[1] == ',')) { + ++end; + break; + } ++end; + } /* we got the address; copy it and remove trailing whitespace */ addr = g_strndup (my_addrs, end - my_addrs); @@ -995,7 +1009,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; @@ -1304,7 +1318,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); @@ -1313,8 +1328,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) && + (tolower(s1[0]) != tolower (s2[0]))) return tolower(s1[0]) - tolower(s2[0]); n1 = g_utf8_strdown (s1, -1); @@ -1344,10 +1360,11 @@ modest_text_utils_get_display_date (time_t date) /* if it's today, show the time, if it's not today, show the date instead */ + /* TODO: take into account the system config for 24/12h */ if (day == date_day) /* is the date today? */ - modest_text_utils_strftime (date_buf, DATE_BUF_SIZE, "%X", date); + modest_text_utils_strftime (date_buf, DATE_BUF_SIZE, _HL("wdgt_va_24h_time"), date); else - modest_text_utils_strftime (date_buf, DATE_BUF_SIZE, "%x", date); + modest_text_utils_strftime (date_buf, DATE_BUF_SIZE, _HL("wdgt_va_date"), date); return date_buf; /* this is a static buffer, don't free! */ } @@ -1612,9 +1629,7 @@ modest_text_utils_get_display_size (guint64 size) const guint MB=1024 * KB; const guint GB=1024 * MB; - if (size == 0) - return g_strdup_printf(_FM("sfil_li_size_kb"), 0); - if (0 < size && size < KB) + if (0 <= size && size < KB) return g_strdup_printf (_FM("sfil_li_size_kb"), 1); else if (KB <= size && size < 100 * KB) return g_strdup_printf (_FM("sfil_li_size_1kb_99kb"), size / KB);