diff --git a/src/core/settings.c b/src/core/settings.c index 5e16b27d..85d95e6e 100644 --- a/src/core/settings.c +++ b/src/core/settings.c @@ -499,10 +499,10 @@ int register_settings ( struct settings *settings, struct settings *parent, */ void unregister_settings ( struct settings *settings ) { struct settings *child; - struct settings *tmp; /* Unregister child settings */ - list_for_each_entry_safe ( child, tmp, &settings->children, siblings ) { + while ( ( child = list_first_entry ( &settings->children, + struct settings, siblings ) ) ) { unregister_settings ( child ); }