From b4cefe2db9d45dfba9bfd633288a406a8ad2a4c3 Mon Sep 17 00:00:00 2001
From: Lukas Fleischer <calcurse@cryptocrack.de>
Date: Sat, 21 Apr 2012 12:44:11 +0200
Subject: Do not localize dates in pcal exports

* Do not localize the word "week" in pcal export headers.
* Reset current locale before formatting dates in pcal export data.

Addresses BUG#1.

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
---
 src/io.c    | 2 +-
 src/utils.c | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/io.c b/src/io.c
index 8709341..21d8b42 100644
--- a/src/io.c
+++ b/src/io.c
@@ -323,7 +323,7 @@ pcal_export_header (FILE *stream)
                  calendar_week_begins_on_monday () ?
                  "Monday" : "Sunday");
   (void)fprintf (stream, "# Display week number (i.e. 1-52) on every Monday\n");
-  (void)fprintf (stream, "all monday in all  %s %%w\n", _("Week"));
+  (void)fprintf (stream, "all monday in all week %%w\n");
   (void)fprintf (stream, "\n");
 }
 
diff --git a/src/utils.c b/src/utils.c
index b165111..0a01c2e 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -488,8 +488,15 @@ date_sec2date_str (long sec, char *datefmt)
 void
 date_sec2date_fmt (long sec, const char *fmt, char *datef)
 {
+  /* TODO: Find a better way to deal with localization and strftime(). */
+  char *locale_old = mem_strdup (setlocale (LC_ALL, NULL));
+  setlocale (LC_ALL, "C");
+
   struct tm *lt = localtime ((time_t *)&sec);
   strftime (datef, BUFSIZ, fmt, lt);
+
+  setlocale (LC_ALL, locale_old);
+  mem_free (locale_old);
 }
 
 /*
-- 
cgit v1.2.3-70-g09d2