diff options
| author | Thomas Haller <thaller@redhat.com> | 2020-08-28 17:20:53 +0200 |
|---|---|---|
| committer | Thomas Haller <thaller@redhat.com> | 2020-09-07 16:11:50 +0200 |
| commit | bd054bf6fdfd3d5ce8eaec82e417787b6e705904 (patch) | |
| tree | 4b62da3ac201eed2020082925c23172a27261954 /src | |
| parent | 41b9d44f9bc794aae975278e3666655011cf77d7 (diff) | |
| download | NetworkManager-bd054bf6fdfd3d5ce8eaec82e417787b6e705904.tar.gz | |
l3cfg: remove changed flag from nm_l3cfg_add_config()/nm_l3cfg_remove_config()
Diffstat (limited to 'src')
| -rw-r--r-- | src/nm-l3cfg.c | 27 | ||||
| -rw-r--r-- | src/nm-l3cfg.h | 32 |
2 files changed, 33 insertions, 26 deletions
diff --git a/src/nm-l3cfg.c b/src/nm-l3cfg.c index d831223357..3c8bb524e3 100644 --- a/src/nm-l3cfg.c +++ b/src/nm-l3cfg.c @@ -2297,7 +2297,7 @@ nm_l3cfg_mark_config_dirty (NML3Cfg *self, } } -void +gboolean nm_l3cfg_add_config (NML3Cfg *self, gconstpointer tag, gboolean replace_same_tag, @@ -2391,15 +2391,18 @@ nm_l3cfg_add_config (NML3Cfg *self, if (changed) self->priv.changed_configs = TRUE; + + return changed; } -static void +static gboolean _l3cfg_remove_config (NML3Cfg *self, gconstpointer tag, gboolean only_dirty, const NML3ConfigData *l3cd) { GArray *l3_config_datas; + gboolean changed; gssize idx; nm_assert (NM_IS_L3CFG (self)); @@ -2407,16 +2410,17 @@ _l3cfg_remove_config (NML3Cfg *self, l3_config_datas = self->priv.p->l3_config_datas; if (!l3_config_datas) - return; + return FALSE; idx = 0; + changed = FALSE; while (TRUE) { idx = _l3_config_datas_find_next (l3_config_datas, idx, tag, l3cd); if (idx < 0) - return; + return changed; if ( only_dirty && !_l3_config_datas_at (l3_config_datas, idx)->dirty) { @@ -2426,27 +2430,30 @@ _l3cfg_remove_config (NML3Cfg *self, self->priv.changed_configs = TRUE; _l3_config_datas_remove_index_fast (l3_config_datas, idx); - if (!l3cd) - return; + if (l3cd) { + /* only one was requested to be removed. We are done. */ + return TRUE; + } + changed = TRUE; } } -void +gboolean nm_l3cfg_remove_config (NML3Cfg *self, gconstpointer tag, const NML3ConfigData *ifcfg) { nm_assert (ifcfg); - _l3cfg_remove_config (self, tag, FALSE, ifcfg); + return _l3cfg_remove_config (self, tag, FALSE, ifcfg); } -void +gboolean nm_l3cfg_remove_config_all (NML3Cfg *self, gconstpointer tag, gboolean only_dirty) { - _l3cfg_remove_config (self, tag, only_dirty, NULL); + return _l3cfg_remove_config (self, tag, only_dirty, NULL); } /*****************************************************************************/ diff --git a/src/nm-l3cfg.h b/src/nm-l3cfg.h index 335b59e614..a199f27cfb 100644 --- a/src/nm-l3cfg.h +++ b/src/nm-l3cfg.h @@ -128,23 +128,23 @@ void nm_l3cfg_mark_config_dirty (NML3Cfg *self, gconstpointer tag, gboolean dirty); -void nm_l3cfg_add_config (NML3Cfg *self, - gconstpointer tag, - gboolean replace_same_tag, - const NML3ConfigData *l3cd, - int priority, - guint32 default_route_penalty_4, - guint32 default_route_penalty_6, - guint32 acd_timeout_msec, - NML3ConfigMergeFlags merge_flags); - -void nm_l3cfg_remove_config (NML3Cfg *self, - gconstpointer tag, - const NML3ConfigData *ifcfg); - -void nm_l3cfg_remove_config_all (NML3Cfg *self, +gboolean nm_l3cfg_add_config (NML3Cfg *self, + gconstpointer tag, + gboolean replace_same_tag, + const NML3ConfigData *l3cd, + int priority, + guint32 default_route_penalty_4, + guint32 default_route_penalty_6, + guint32 acd_timeout_msec, + NML3ConfigMergeFlags merge_flags); + +gboolean nm_l3cfg_remove_config (NML3Cfg *self, gconstpointer tag, - gboolean only_dirty); + const NML3ConfigData *ifcfg); + +gboolean nm_l3cfg_remove_config_all (NML3Cfg *self, + gconstpointer tag, + gboolean only_dirty); /*****************************************************************************/ |
