]> 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 05b9900fdc051e2f94c6742ce4657a19d1a9495d..c541b7b17ec9f029d93514d00e56d6b65df03355 100644 (file)
@@ -39,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 
  */
@@ -92,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;
@@ -147,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);