Solaris doesn't like NULL going to ast_log

Solaris will crash if NULL is passed to ast_log. This simple patch simply uses S_OR to
get around this.

(closes issue #15392)
Reported by: yrashk


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@229498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
David Brooks
2009-11-11 19:46:19 +00:00
parent e04cade814
commit 933ad675be

View File

@@ -1893,22 +1893,23 @@ static int pbx_extension_helper(struct ast_channel *c, struct ast_context *con,
} }
} else { /* not found anywhere, see what happened */ } else { /* not found anywhere, see what happened */
ast_unlock_contexts(); ast_unlock_contexts();
/* Using S_OR here because Solaris doesn't like NULL being passed to ast_log */
switch (q.status) { switch (q.status) {
case STATUS_NO_CONTEXT: case STATUS_NO_CONTEXT:
if (!matching_action) if (!matching_action)
ast_log(LOG_NOTICE, "Cannot find extension context '%s'\n", context); ast_log(LOG_NOTICE, "Cannot find extension context '%s'\n", S_OR(context, ""));
break; break;
case STATUS_NO_EXTENSION: case STATUS_NO_EXTENSION:
if (!matching_action) if (!matching_action)
ast_log(LOG_NOTICE, "Cannot find extension '%s' in context '%s'\n", exten, context); ast_log(LOG_NOTICE, "Cannot find extension '%s' in context '%s'\n", exten, S_OR(context, ""));
break; break;
case STATUS_NO_PRIORITY: case STATUS_NO_PRIORITY:
if (!matching_action) if (!matching_action)
ast_log(LOG_NOTICE, "No such priority %d in extension '%s' in context '%s'\n", priority, exten, context); ast_log(LOG_NOTICE, "No such priority %d in extension '%s' in context '%s'\n", priority, exten, S_OR(context, ""));
break; break;
case STATUS_NO_LABEL: case STATUS_NO_LABEL:
if (context) if (context)
ast_log(LOG_NOTICE, "No such label '%s' in extension '%s' in context '%s'\n", label, exten, context); ast_log(LOG_NOTICE, "No such label '%s' in extension '%s' in context '%s'\n", label, exten, S_OR(context, ""));
break; break;
default: default:
if (option_debug) if (option_debug)