webcit_fmt_date: return length of generated string
authorWilfried Goesgens <dothebart@citadel.org>
Mon, 3 Sep 2012 21:24:25 +0000 (23:24 +0200)
committerWilfried Goesgens <dothebart@citadel.org>
Mon, 3 Sep 2012 21:24:25 +0000 (23:24 +0200)
webcit/fmt_date.c
webcit/webcit.h

index 6d37bd7449e8f414c5fbe269dfaa77d71f4a0627..62caf410c83524ef23243bb39719cdad58cc815e 100644 (file)
@@ -55,8 +55,9 @@ size_t wc_strftime(char *s, size_t max, const char *format, const struct tm *tm)
 /*
  * Format a date/time stamp for output 
  */
-void webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format)
+long webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format)
 {
+       long retlen = 0;
        struct tm tm;
        struct tm today_tm;
        time_t today_timet;
@@ -84,33 +85,34 @@ void webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format)
                          &&(tm.tm_mon == today_tm.tm_mon)
                          &&(tm.tm_mday == today_tm.tm_mday)) {
                                if (time_format == WC_TIMEFORMAT_24) 
-                                       wc_strftime(buf, siz, "%k:%M", &tm);
+                                       retlen = wc_strftime(buf, siz, "%k:%M", &tm);
                                else
-                                       wc_strftime(buf, siz, "%l:%M%p", &tm);
+                                       retlen = wc_strftime(buf, siz, "%l:%M%p", &tm);
                        }
                        else if (today_timet - thetime < 15552000) {
                                if (time_format == WC_TIMEFORMAT_24) 
-                                       wc_strftime(buf, siz, "%b %d %k:%M", &tm);
+                                       retlen = wc_strftime(buf, siz, "%b %d %k:%M", &tm);
                                else
-                                       wc_strftime(buf, siz, "%b %d %l:%M%p", &tm);
+                                       retlen = wc_strftime(buf, siz, "%b %d %l:%M%p", &tm);
                        }
                        else {
-                               wc_strftime(buf, siz, "%b %d %Y", &tm);
+                               retlen = wc_strftime(buf, siz, "%b %d %Y", &tm);
                        }
                        break;
                case DATEFMT_FULL:
                        if (time_format == WC_TIMEFORMAT_24)
-                               wc_strftime(buf, siz, "%a %b %d %Y %T %Z", &tm);
+                               retlen = wc_strftime(buf, siz, "%a %b %d %Y %T %Z", &tm);
                        else
-                               wc_strftime(buf, siz, "%a %b %d %Y %r %Z", &tm);
+                               retlen = wc_strftime(buf, siz, "%a %b %d %Y %r %Z", &tm);
                        break;
                case DATEFMT_RAWDATE:
-                       wc_strftime(buf, siz, "%a %b %d %Y", &tm);
+                       retlen = wc_strftime(buf, siz, "%a %b %d %Y", &tm);
                        break;
                case DATEFMT_LOCALEDATE:
-                       wc_strftime(buf, siz, "%x", &tm);
+                       retlen = wc_strftime(buf, siz, "%x", &tm);
                        break;
        }
+       return retlen;
 }
 
 
index 5fa6ddf610dbe762453de6ea1d7ad61b2a672364..2b30278360a03c156194b551d705a1f9b0670dea 100644 (file)
@@ -294,7 +294,7 @@ typedef struct _addrbookent {
 #define DATEFMT_BRIEF 1
 #define DATEFMT_RAWDATE 2
 #define DATEFMT_LOCALEDATE 3
-void webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format);
+long webcit_fmt_date(char *buf, size_t siz, time_t thetime, int Format);
 
 
 typedef enum _RESTDispatchID {