]> code.citadel.org Git - citadel.git/blobdiff - webcit/fmt_date.c
Date picker is now localized to the currently selected
[citadel.git] / webcit / fmt_date.c
index 9adb0c63efbdef57720c316fdbfb346790b35c24..c541b7b17ec9f029d93514d00e56d6b65df03355 100644 (file)
@@ -30,6 +30,8 @@ size_t wc_strftime(char *s, size_t max, const char *format, const struct tm *tm)
        else { // TODO: this gives empty strings on debian.
                return strftime_l(s, max, format, tm, wc_locales[WC->selected_language]);
        }
+#else
+       return strftime(s, max, format, tm);
 #endif
 #else
        return strftime(s, max, format, tm);
@@ -37,6 +39,7 @@ size_t wc_strftime(char *s, size_t max, const char *format, const struct tm *tm)
 }
 
 
+
 /*
  * Format a date/time stamp for output 
  */
@@ -90,13 +93,13 @@ void webcit_fmt_date(char *buf, time_t thetime, int brief)
  */
 int get_time_format_cached (void)
 {
-       char calhourformat[16];
+       long calhourformat;
        int *time_format_cache;
        time_format_cache = &(WC->time_format_cache);
        if (*time_format_cache == WC_TIMEFORMAT_NONE)
        {
-               get_preference("calhourformat", calhourformat, sizeof calhourformat);
-               if (!strcasecmp(calhourformat, "24")
+               get_pref_long("calhourformat", &calhourformat, 24);
+               if (calhourformat == 24
                        *time_format_cache = WC_TIMEFORMAT_24;
                else
                        *time_format_cache = WC_TIMEFORMAT_AMPM;
@@ -145,16 +148,18 @@ void fmt_time(char *buf, time_t thetime)
  * FIXME won't read asctime
  * Doesn't understand timezone, but we only should be using GMT/UTC anyway
  */
-time_t httpdate_to_timestamp(char *buf)
+time_t httpdate_to_timestamp(StrBuf *buf)
 {
        time_t t = 0;
        struct tm tt;
-       char *c;
+       const char *c;
 
        /** Skip day of week, to number */
-       for (c = buf; *c != ' '; c++)
+       for (c = ChrPtr(buf); *c != ' '; c++)
                ;
        c++;
+       
+       memset(&tt, 0, sizeof(tt));
 
        /* Get day of month */
        tt.tm_mday = atoi(c);