From a863d2b280b517e176dbe3de2015f98509be1104 Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Mon, 17 Oct 2005 17:54:32 +0000 Subject: clean up function to be more consistent with coding guidelines git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6808 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- funcs/func_strings.c | 63 ++++++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 31 deletions(-) (limited to 'funcs') diff --git a/funcs/func_strings.c b/funcs/func_strings.c index 0350141d9..d25d5bb77 100755 --- a/funcs/func_strings.c +++ b/funcs/func_strings.c @@ -140,42 +140,43 @@ struct ast_custom_function len_function = { static char *acf_strftime(struct ast_channel *chan, char *cmd, char *data, char *buf, size_t len) { - char *format, *epoch, *timezone; + char *format, *epoch, *timezone = NULL; long epochi; struct tm time; - if (data) { - format = ast_strdupa(data); - if (format) { - epoch = strsep(&format, "|"); - timezone = strsep(&format, "|"); - - if (epoch && !ast_strlen_zero(epoch) && sscanf(epoch, "%ld", &epochi) == 1) { - } else { - struct timeval tv = ast_tvnow(); - epochi = tv.tv_sec; - } - - ast_localtime(&epochi, &time, timezone); - - if (!format) { - format = "%c"; - } - - buf[0] = '\0'; - if (! strftime(buf, len, format, &time)) { - ast_log(LOG_WARNING, "C function strftime() output nothing?!!\n"); - } - buf[len - 1] = '\0'; - - return buf; - } else { - ast_log(LOG_ERROR, "Out of memory\n"); - } - } else { + buf[0] = '\0'; + + if (!data) { ast_log(LOG_ERROR, "Asterisk function STRFTIME() requires an argument.\n"); + return buf; } - return ""; + + format = ast_strdupa(data); + if (!format) { + ast_log(LOG_ERROR, "Out of memory\n"); + return buf; + } + + epoch = strsep(&format, "|"); + timezone = strsep(&format, "|"); + + if (!epoch || ast_strlen_zero(epoch) || !sscanf(epoch, "%ld", &epochi)) { + struct timeval tv = ast_tvnow(); + epochi = tv.tv_sec; + } + + ast_localtime(&epochi, &time, timezone); + + if (!format) { + format = "%c"; + } + + if (!strftime(buf, len, format, &time)) { + ast_log(LOG_WARNING, "C function strftime() output nothing?!!\n"); + } + buf[len - 1] = '\0'; + + return buf; } #ifndef BUILTIN_FUNC -- cgit v1.2.3