[asterisk-commits] kmoore: trunk r407459 - in /trunk: ./ main/logger.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Feb 5 14:43:52 CST 2014
Author: kmoore
Date: Wed Feb 5 14:43:50 2014
New Revision: 407459
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=407459
Log:
Logger: Fix handling of absolute paths
This fixes path handling for log files so that an extra / is not
appended to the file path when the path is absolute (begins with /).
This would previously result in different but functionally equivalent
paths in the output of 'logger show channels'.
........
Merged revisions 407455 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 407456 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 407458 from http://svn.asterisk.org/svn/asterisk/branches/12
Modified:
trunk/ (props changed)
trunk/main/logger.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-12-merged' - no diff available.
Modified: trunk/main/logger.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/logger.c?view=diff&rev=407459&r1=407458&r2=407459
==============================================================================
--- trunk/main/logger.c (original)
+++ trunk/main/logger.c Wed Feb 5 14:43:50 2014
@@ -322,13 +322,22 @@
ast_copy_string(chan->filename, channel, sizeof(chan->filename));
openlog("asterisk", LOG_PID, chan->facility);
} else {
+ const char *log_dir_prefix = "";
+ const char *log_dir_separator = "";
+
+ if (channel[0] != '/') {
+ log_dir_prefix = ast_config_AST_LOG_DIR;
+ log_dir_separator = "/";
+ }
+
if (!ast_strlen_zero(hostname)) {
- snprintf(chan->filename, sizeof(chan->filename), "%s/%s.%s",
- channel[0] != '/' ? ast_config_AST_LOG_DIR : "", channel, hostname);
+ snprintf(chan->filename, sizeof(chan->filename), "%s%s%s.%s",
+ log_dir_prefix, log_dir_separator, channel, hostname);
} else {
- snprintf(chan->filename, sizeof(chan->filename), "%s/%s",
- channel[0] != '/' ? ast_config_AST_LOG_DIR : "", channel);
- }
+ snprintf(chan->filename, sizeof(chan->filename), "%s%s%s",
+ log_dir_prefix, log_dir_separator, channel);
+ }
+
if (!(chan->fileptr = fopen(chan->filename, "a"))) {
/* Can't do real logging here since we're called with a lock
* so log to any attached consoles */
@@ -1007,7 +1016,7 @@
AST_CLI_DEFINE(handle_logger_show_channels, "List configured log channels"),
AST_CLI_DEFINE(handle_logger_reload, "Reopens the log files"),
AST_CLI_DEFINE(handle_logger_rotate, "Rotates and reopens the log files"),
- AST_CLI_DEFINE(handle_logger_set_level, "Enables/Disables a specific logging level for this console")
+ AST_CLI_DEFINE(handle_logger_set_level, "Enables/Disables a specific logging level for this console"),
};
static void _handle_SIGXFSZ(int sig)
More information about the asterisk-commits
mailing list