From 03e859ed5c8b493a18b4d289518c05321b0e9563 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Mon, 3 Sep 2012 23:24:25 +0200 Subject: [PATCH] webcit_fmt_date: return length of generated string --- webcit/fmt_date.c | 22 ++++++++++++---------- webcit/webcit.h | 2 +- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/webcit/fmt_date.c b/webcit/fmt_date.c index 6d37bd744..62caf410c 100644 --- a/webcit/fmt_date.c +++ b/webcit/fmt_date.c @@ -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; } diff --git a/webcit/webcit.h b/webcit/webcit.h index 5fa6ddf61..2b3027836 100644 --- a/webcit/webcit.h +++ b/webcit/webcit.h @@ -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 { -- 2.30.2