From a863d2b280b517e176dbe3de2015f98509be1104 Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Mon, 17 Oct 2005 17:54:32 +0000
Subject: [PATCH] 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(-)

diff --git a/funcs/func_strings.c b/funcs/func_strings.c
index 0350141d9c..d25d5bb771 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
-- 
GitLab