Fixes level toggling for logger set levels since it was reversed

(closes issue ASTERISK-17850)
Reported by: Luke H
Tested by: jrose, Luke H
  
Review: https://reviewboard.asterisk.org/r/1244/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@322069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jonathan Rose
2011-06-06 19:07:56 +00:00
parent 6b10de8830
commit c728c8d56b
2 changed files with 12 additions and 2 deletions

View File

@@ -98,7 +98,10 @@ void ast_console_puts_mutable(const char *string, int level);
void ast_console_toggle_mute(int fd, int silent);
/*!
* \since 1.6.1
* \brief enables or disables logging of a specified level to the console
* fd specifies the index of the console receiving the level change
* level specifies the index of the logging level being toggled
* state indicates whether logging will be on or off (0 for off, 1 for on)
*/
void ast_console_toggle_loglevel(int fd, int level, int state);

View File

@@ -1082,12 +1082,19 @@ int ast_safe_system(const char *s)
return res;
}
/*!
* \brief enable or disable a logging level to a specified console
*/
void ast_console_toggle_loglevel(int fd, int level, int state)
{
int x;
for (x = 0;x < AST_MAX_CONNECTS; x++) {
if (fd == consoles[x].fd) {
consoles[x].levels[level] = state;
/*
* Since the logging occurs when levels are false, set to
* flipped iinput because this function accepts 0 as off and 1 as on
*/
consoles[x].levels[level] = state ? 0 : 1;
return;
}
}