From: Philippe Proulx Date: Wed, 1 Feb 2017 19:15:49 +0000 (-0500) Subject: component.c: iterator init method is optional X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=5964a444b34f3c75fbfcc90e975d46150ba5e6d8;p=deliverable%2Fbabeltrace.git component.c: iterator init method is optional Signed-off-by: Philippe Proulx Signed-off-by: Jérémie Galarneau --- 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; }