component.c: iterator init method is optional
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Wed, 1 Feb 2017 19:15:49 +0000 (14:15 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sun, 28 May 2017 16:57:37 +0000 (12:57 -0400)
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
lib/component/component.c

index 136bf95fa111258a59798aa1037df9aa38f14996..89179f23d5321727489cb2de993a28d9cb52355a 100644 (file)
@@ -137,11 +137,13 @@ struct bt_notification_iterator *bt_component_create_iterator(
                enum bt_notification_iterator_status status;
 
                source_class = container_of(class, struct bt_component_class_source, parent);
-               assert(source_class->methods.iterator.init);
-               status = source_class->methods.iterator.init(component,
-                               iterator, init_method_data);
-               if (status < 0) {
-                       goto error;
+
+               if (source_class->methods.iterator.init) {
+                       status = source_class->methods.iterator.init(component,
+                                       iterator, init_method_data);
+                       if (status < 0) {
+                               goto error;
+                       }
                }
                break;
        }
@@ -151,11 +153,13 @@ struct bt_notification_iterator *bt_component_create_iterator(
                enum bt_notification_iterator_status status;
 
                filter_class = container_of(class, struct bt_component_class_filter, parent);
-               assert(filter_class->methods.iterator.init);
-               status = filter_class->methods.iterator.init(component,
-                               iterator, init_method_data);
-               if (status < 0) {
-                       goto error;
+
+               if (filter_class->methods.iterator.init) {
+                       status = filter_class->methods.iterator.init(component,
+                                       iterator, init_method_data);
+                       if (status < 0) {
+                               goto error;
+                       }
                }
                break;
        }
This page took 0.02726 seconds and 4 git commands to generate.