From b04f059b4abbc50f26b5b61f047d344d78dc5847 Mon Sep 17 00:00:00 2001
From: Russell Bryant <russell@russellbryant.com>
Date: Fri, 28 Jul 2006 19:17:56 +0000
Subject: [PATCH] As discussed and decided on the asterisk-dev mailing list ...
 - Fix some breakage I introduced a while ago that made the timestamps option 
  not functional for CLI verbose output. - Remove the use of the timestamps
 option for log output, since it was not   functional. - clarify text
 referring to the timestamps option so that it is clear that it   only applies
 to CLI verbose output

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 asterisk.c                 | 2 +-
 doc/asterisk-conf.txt      | 2 +-
 include/asterisk/options.h | 2 +-
 logger.c                   | 6 ++++--
 4 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/asterisk.c b/asterisk.c
index 69af7d4cb3..d9d962797e 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -2215,7 +2215,7 @@ static void ast_readconfig(void)
 		/* verbose level (-v at startup) */
 		if (!strcasecmp(v->name, "verbose")) {
 			option_verbose = atoi(v->value);
-		/* whether or not to force timestamping. (-T at startup) */
+		/* whether or not to force timestamping in CLI verbose output. (-T at startup) */
 		} else if (!strcasecmp(v->name, "timestamp")) {
 			ast_set2_flag(&ast_options, ast_true(v->value), AST_OPT_FLAG_TIMESTAMP);
 		/* whether or not to support #exec in config files */
diff --git a/doc/asterisk-conf.txt b/doc/asterisk-conf.txt
index a838bc561f..4ec2f26c50 100644
--- a/doc/asterisk-conf.txt
+++ b/doc/asterisk-conf.txt
@@ -49,7 +49,7 @@ initcrypto = yes | no				; Initialize crypto at startup (-i)
 nocolor = yes | no				; Disable ANSI colors (-n)
 dumpcore = yes | no				; Dump core on failure (-g)
 quiet = yes | no				; Run quietly (-q)
-timestamp = yes | no				; Force timestamping on log entries to console (-T)
+timestamp = yes | no				; Force timestamping in CLI verbose output (-T)
 runuser = asterisk				; User to run asterisk as (-U) NOTE: will require changes to
 						; directory and device permisions
 rungroup = asterisk				; Group to run asterisk as (-G)
diff --git a/include/asterisk/options.h b/include/asterisk/options.h
index c0b8a433e7..3f7569ca1f 100644
--- a/include/asterisk/options.h
+++ b/include/asterisk/options.h
@@ -60,7 +60,7 @@ enum ast_option_flags {
 	AST_OPT_FLAG_DUMP_CORE = (1 << 12),
 	/*! Cache sound files */
 	AST_OPT_FLAG_CACHE_RECORD_FILES = (1 << 13),
-	/*! Display timestamp in log messages */
+	/*! Display timestamp in CLI verbose output */
 	AST_OPT_FLAG_TIMESTAMP = (1 << 14),
 	/*! Override config */
 	AST_OPT_FLAG_OVERRIDE_CONFIG = (1 << 15),
diff --git a/logger.c b/logger.c
index d7c70f0ec5..a4f7c8c1d7 100644
--- a/logger.c
+++ b/logger.c
@@ -746,7 +746,7 @@ void ast_log(int level, const char *file, int line, const char *function, const
 
 				if (level != __LOG_VERBOSE) {
 					sprintf(linestr, "%d", line);
-					snprintf(buf, sizeof(buf), ast_opt_timestamp ? "[%s] %s[%ld]: %s:%s %s: " : "%s %s[%ld]: %s:%s %s: ",
+					snprintf(buf, sizeof(buf), "[%s] %s[%ld]: %s:%s %s: ",
 						date,
 						term_color(tmp1, levels[level], colors[level], 0, sizeof(tmp1)),
 						(long)GETTID(),
@@ -763,7 +763,7 @@ void ast_log(int level, const char *file, int line, const char *function, const
 			/* File channels */
 			} else if ((chan->logmask & (1 << level)) && (chan->fileptr)) {
 				int res;
-				snprintf(buf, sizeof(buf), ast_opt_timestamp ? "[%s] %s[%ld]: " : "%s %s[%ld] %s: ", date,
+				snprintf(buf, sizeof(buf), "[%s] %s[%ld] %s: ", date,
 					levels[level], (long)GETTID(), file);
 				res = fprintf(chan->fileptr, buf);
 				if (res <= 0 && buf[0] != '\0') {	/* Error, no characters printed */
@@ -862,6 +862,8 @@ void ast_verbose(const char *fmt, ...)
 		localtime_r(&t, &tm);
 		strftime(date, sizeof(date), dateformat, &tm);
 		datefmt = alloca(strlen(date) + 3 + strlen(fmt) + 1);
+		sprintf(datefmt, "[%s] %s", date, fmt);
+		fmt = datefmt;
 	}
 
 	/* this lock is also protecting against multiple threads
-- 
GitLab