--- 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++) {