]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 229499 via svnmerge from
authorDavid Brooks <dbrooks@digium.com>
Wed, 11 Nov 2009 19:54:29 +0000 (19:54 +0000)
committerDavid Brooks <dbrooks@digium.com>
Wed, 11 Nov 2009 19:54:29 +0000 (19:54 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r229499 | dbrooks | 2009-11-11 13:48:18 -0600 (Wed, 11 Nov 2009) | 15 lines

  Merged revisions 229498 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r229498 | dbrooks | 2009-11-11 13:46:19 -0600 (Wed, 11 Nov 2009) | 8 lines

    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.6.1@229501 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/pbx.c

index 6273f3f6159c6968b3bc50ef6443e3bf36d97ad3..6287811767fd40c66be52b65a0572ffd5bd7887b 100644 (file)
@@ -3233,22 +3233,23 @@ static int pbx_extension_helper(struct ast_channel *c, struct ast_context *con,
                }
        } else {        /* not found anywhere, see what happened */
                ast_unlock_contexts();
+               /* Using S_OR here because Solaris doesn't like NULL being passed to ast_log */
                switch (q.status) {
                case STATUS_NO_CONTEXT:
                        if (!matching_action && !combined_find_spawn)
-                               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;
                case STATUS_NO_EXTENSION:
                        if (!matching_action && !combined_find_spawn)
-                               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;
                case STATUS_NO_PRIORITY:
                        if (!matching_action && !combined_find_spawn)
-                               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;
                case STATUS_NO_LABEL:
                        if (context && !combined_find_spawn)
-                               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;
                default:
                        ast_debug(1, "Shouldn't happen!\n");