diff options
Diffstat (limited to 'cdr/cdr_csv.c')
-rw-r--r-- | cdr/cdr_csv.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/cdr/cdr_csv.c b/cdr/cdr_csv.c index f40f555a8..bfc509803 100644 --- a/cdr/cdr_csv.c +++ b/cdr/cdr_csv.c @@ -188,21 +188,15 @@ static int append_int(char *buf, int s, size_t bufsize) static int append_date(char *buf, struct timeval tv, size_t bufsize) { char tmp[80] = ""; - struct tm tm; - time_t t; - t = tv.tv_sec; + struct ast_tm tm; if (strlen(buf) > bufsize - 3) return -1; if (ast_tvzero(tv)) { strncat(buf, ",", bufsize - strlen(buf) - 1); return 0; } - if (usegmtime) { - gmtime_r(&t,&tm); - } else { - ast_localtime(&t, &tm, NULL); - } - strftime(tmp, sizeof(tmp), DATE_FORMAT, &tm); + ast_localtime(&tv, &tm, usegmtime ? "GMT" : NULL); + ast_strftime(tmp, sizeof(tmp), DATE_FORMAT, &tm); return append_string(buf, tmp, bufsize); } |