return r;
link_set_state(l, LINK_STATE_INITIALIZED);
- r = link_save(l);
+ r = link_save_and_clean(l);
if (r < 0)
return r;
- link_clean(l);
return sd_bus_reply_method_return(message, NULL);
}
link_unref(set_remove(link->manager->dirty_links, link));
}
+int link_save_and_clean(Link *link) {
+ int r;
+
+ r = link_save(link);
+ if (r < 0)
+ return r;
+
+ link_clean(link);
+ return 0;
+}
+
static const char* const link_state_table[_LINK_STATE_MAX] = {
[LINK_STATE_PENDING] = "pending",
[LINK_STATE_INITIALIZED] = "initialized",
void link_dirty(Link *link);
void link_clean(Link *link);
int link_save(Link *link);
+int link_save_and_clean(Link *link);
int link_carrier_reset(Link *link);
bool link_has_carrier(Link *link);
manager_save(m);
SET_FOREACH(link, m->dirty_links, i)
- if (link_save(link) >= 0)
- link_clean(link);
+ (void) link_save_and_clean(link);
return 1;
}
manager_save(m);
HASHMAP_FOREACH(link, m->links, i)
- link_save(link);
+ (void) link_save(link);
return 0;
}