g_return_val_if_fail (to, NULL);
g_return_val_if_fail (subject, NULL);
- modest_text_utils_strftime (sent_str, 100, "%c", localtime (&sent_date));
+ modest_text_utils_strftime (sent_str, 100, "%c", sent_date);
if (!strcmp (content_type, "text/html"))
/* TODO: extract the <body> of the HTML and pass it to
/* just to prevent warnings:
* warning: `%x' yields only last 2 digits of year in some locales
*/
-size_t
-modest_text_utils_strftime(char *s, size_t max, const char *fmt, const struct tm *tm)
+gsize
+modest_text_utils_strftime(char *s, gsize max, const char *fmt, time_t timet)
{
- return strftime(s, max, fmt, tm);
+ static GDate date;
+
+ g_date_set_time_t (&date, timet);
+
+ return g_date_strftime (s, max, fmt, (const GDate*) &date);
}
gchar *
gchar sent_str[101];
/* format sent_date */
- modest_text_utils_strftime (sent_str, 100, "%c", localtime (&sent_date));
+ modest_text_utils_strftime (sent_str, 100, "%c", sent_date);
return g_strdup_printf (N_("On %s, %s wrote:\n"), sent_str, from);
}
{
static GHashTable *date_cache = NULL;
- struct tm date_tm, now_tm;
time_t now;
-
const guint BUF_SIZE = 64;
gchar date_buf[BUF_SIZE];
gchar now_buf [BUF_SIZE];
now = time (NULL);
- localtime_r(&now, &now_tm);
- localtime_r(&date, &date_tm);
-
/* get today's date */
- modest_text_utils_strftime (date_buf, BUF_SIZE, "%x", &date_tm);
- modest_text_utils_strftime (now_buf, BUF_SIZE, "%x", &now_tm);
+ modest_text_utils_strftime (date_buf, BUF_SIZE, "%x", date);
+ modest_text_utils_strftime (now_buf, BUF_SIZE, "%x", now);
/* today */
/* if this is today, get the time instead of the date */
if (strcmp (date_buf, now_buf) == 0)
- strftime (date_buf, BUF_SIZE, _("%X"), &date_tm);
+ modest_text_utils_strftime (date_buf, BUF_SIZE, _("%X"), date);
cached_val = g_strdup(date_buf);
g_hash_table_insert (date_cache, (gpointer)&date, (gpointer)cached_val);