--- planner-0.14.5/libplanner/mrp-time.c 2011-08-02 12:32:47.387704773 +0100 +++ planner-0.14.5/libplanner/mrp-time.c 2011-08-02 12:44:19.217457487 +0100 @@ -513,8 +513,28 @@ void imrp_time_init (void) { + const gchar *short_month_names_fallbacks[12] = + { + "Jan", "Feb", "Mar", "Apr", "May", "Jun", + "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" + }; + const gchar *month_names_fallbacks[12] = + { + "January", "February", "March", "April", "May", "June", + "July", "August", "September", "October", "November", "December" + }; + const gchar *short_day_names_fallbacks[7] = + { + "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" + }; + const gchar *day_names_fallbacks[7] = + { + "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", + "Friday", "Saturday" + }; gint i; + /* Get month and day names. */ #ifndef WIN32 @@ -523,9 +543,18 @@ short_month_names[i] = g_locale_to_utf8 (nl_langinfo (ABMON_1 + i), -1, NULL, NULL, NULL); + + if (!short_month_names[i]) { + short_month_names[i] = g_strdup(short_month_names_fallbacks[i]); + } + month_names[i] = g_locale_to_utf8 (nl_langinfo (MON_1 + i), -1, NULL, NULL, NULL); + if (!month_names[i]) { + month_names[i] = g_strdup(month_names_fallbacks[i]); + } + c = g_utf8_get_char (month_names[i]); month_names_initial[i] = g_malloc0 (7); g_unichar_to_utf8 (c, (char *)month_names_initial[i]); @@ -536,8 +565,16 @@ short_day_names[i] = g_locale_to_utf8 (nl_langinfo (ABDAY_1 + i), -1, NULL, NULL, NULL); + if (!short_day_names[i]) { + short_day_names[i] = g_strdup(short_day_names_fallbacks[i]); + } + day_names[i] = g_locale_to_utf8 (nl_langinfo (DAY_1 + i), -1, NULL, NULL, NULL); + + if (!day_names[i]) { + day_names[i] = g_strdup(day_names_fallbacks[i]); + } } #else for (i = 0; i < 12; i++) {