From 5964a444b34f3c75fbfcc90e975d46150ba5e6d8 Mon Sep 17 00:00:00 2001 From: Philippe Proulx Date: Wed, 1 Feb 2017 14:15:49 -0500 Subject: [PATCH] component.c: iterator init method is optional MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Philippe Proulx Signed-off-by: Jérémie Galarneau --- lib/component/component.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/component/component.c b/lib/component/component.c index 136bf95fa..89179f23d 100644 --- a/lib/component/component.c +++ b/lib/component/component.c @@ -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; } -- 2.34.1