From 162b871682946169871db3622e156ef641c44bf2 Mon Sep 17 00:00:00 2001
From: Lukas Fleischer <calcurse@cryptocrack.de>
Date: Fri, 18 May 2012 08:36:43 +0200
Subject: src/notify.c: Fix printf() misuse

Make sure we actually copy the notification warning interval to the
correct buffer instead of printing it to stdout (using an arbitrary
format string). This makes sure the current warning interval is shown
when editing the field and also eliminates a potential format string
vulnerability.

Spotted with "-Wformat-nonliteral".

Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
---
 src/notify.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/notify.c b/src/notify.c
index 188d92c..3ed53bf 100644
--- a/src/notify.c
+++ b/src/notify.c
@@ -777,7 +777,7 @@ notify_config_bar (void)
         case '4':
           status_mesg (count_str, "");
           pthread_mutex_lock (&nbar.mutex);
-          printf (buf, "%d", nbar.cntdwn);
+          snprintf (buf, BUFSIZ, "%d", nbar.cntdwn);
           pthread_mutex_unlock (&nbar.mutex);
           if (updatestring (win[STA].p, &buf, 0, 1) == 0 &&
               is_all_digit (buf) && atoi (buf) >= 0 && atoi (buf) <= DAYINSEC)
-- 
cgit v1.2.3-70-g09d2


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