Blob Blame History Raw
--- 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++) {