1 Commits

Author SHA1 Message Date
wash fa9572d33a fx: iterator: return NULL value if iterator status is not SUCCESS 2026-05-30 20:19:47 +01:00
+8 -6
View File
@@ -51,9 +51,8 @@ enum fx_status fx_iterator_move_next(const fx_iterator *it)
{ {
enum fx_status status = FX_ERR_NOT_SUPPORTED; enum fx_status status = FX_ERR_NOT_SUPPORTED;
fx_iterator_class *iface = fx_object_get_interface( fx_iterator_class *iface
it, = fx_object_get_interface(it, FX_TYPE_ITERATOR);
FX_TYPE_ITERATOR);
if (iface && iface->it_move_next) { if (iface && iface->it_move_next) {
status = iface->it_move_next(it); status = iface->it_move_next(it);
} }
@@ -66,6 +65,10 @@ enum fx_status fx_iterator_move_next(const fx_iterator *it)
const fx_value *fx_iterator_get_value(const fx_iterator *it) const fx_value *fx_iterator_get_value(const fx_iterator *it)
{ {
if (fx_iterator_get_status(it) != FX_SUCCESS) {
return NULL;
}
FX_CLASS_DISPATCH_VIRTUAL_0( FX_CLASS_DISPATCH_VIRTUAL_0(
fx_iterator, fx_iterator,
FX_TYPE_ITERATOR, FX_TYPE_ITERATOR,
@@ -78,9 +81,8 @@ fx_status fx_iterator_erase(fx_iterator *it)
{ {
enum fx_status status = FX_ERR_NOT_SUPPORTED; enum fx_status status = FX_ERR_NOT_SUPPORTED;
fx_iterator_class *iface = fx_object_get_interface( fx_iterator_class *iface
it, = fx_object_get_interface(it, FX_TYPE_ITERATOR);
FX_TYPE_ITERATOR);
if (iface && iface->it_erase) { if (iface && iface->it_erase) {
status = iface->it_erase(it); status = iface->it_erase(it);
} }