Indexer: Format message types may not exist
authorKinsey Moore <kmoore@digium.com>
Wed, 8 Oct 2014 14:54:54 +0000 (14:54 +0000)
committerKinsey Moore <kmoore@digium.com>
Wed, 8 Oct 2014 14:54:54 +0000 (14:54 +0000)
In Asterisk 13+, any given message type is not guaranteed to exist even
if Asterisk comes up correctly since creation of the message type could
be declined. The indexer should not prevent Asterisk from starting
under these conditions.
........

Merged revisions 424833 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@424834 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/sounds_index.c

index bc52639..8ca5967 100644 (file)
@@ -302,17 +302,21 @@ int ast_sounds_index_init(void)
                return -1;
        }
 
-       res |= stasis_message_router_add(
-               sounds_system_router,
-               ast_format_register_type(),
-               format_update_cb,
-               NULL);
-
-       res |= stasis_message_router_add(
-               sounds_system_router,
-               ast_format_unregister_type(),
-               format_update_cb,
-               NULL);
+       if (ast_format_register_type()) {
+               res |= stasis_message_router_add(
+                       sounds_system_router,
+                       ast_format_register_type(),
+                       format_update_cb,
+                       NULL);
+       }
+
+       if (ast_format_unregister_type()) {
+               res |= stasis_message_router_add(
+                       sounds_system_router,
+                       ast_format_unregister_type(),
+                       format_update_cb,
+                       NULL);
+       }
 
        if (res) {
                return -1;