diff options
author | Thomas Haller <thaller@redhat.com> | 2018-03-28 09:05:23 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2018-03-29 11:24:32 +0200 |
commit | 1fd6a041a5001c31179ce1e42c56a039c764075d (patch) | |
tree | d3ef179a5c4a419f8c3e13f211d26c9c129c8db0 | |
parent | 2619641debf13ea58315c88028bdb55117c59e72 (diff) | |
download | NetworkManager-1fd6a041a5001c31179ce1e42c56a039c764075d.tar.gz |
checkpoint: refactor setting error for lookup checkpoint failure
This changes the error reason in nm_checkpoint_manager_rollback()
from NM_MANAGER_ERROR_FAILED to NM_MANAGER_ERROR_INVALID_ARGUMENTS.
-rw-r--r-- | src/nm-checkpoint-manager.c | 23 | ||||
-rw-r--r-- | src/nm-checkpoint-manager.h | 3 |
2 files changed, 11 insertions, 15 deletions
diff --git a/src/nm-checkpoint-manager.c b/src/nm-checkpoint-manager.c index 173eaf5a48..8d341f56b7 100644 --- a/src/nm-checkpoint-manager.c +++ b/src/nm-checkpoint-manager.c @@ -227,14 +227,9 @@ nm_checkpoint_manager_destroy (NMCheckpointManager *self, return TRUE; } - checkpoint = nm_checkpoint_manager_lookup_by_path (self, path); - if (!checkpoint) { - g_set_error (error, - NM_MANAGER_ERROR, - NM_MANAGER_ERROR_INVALID_ARGUMENTS, - "checkpoint %s does not exist", path); + checkpoint = nm_checkpoint_manager_lookup_by_path (self, path, error); + if (!checkpoint) return FALSE; - } destroy_checkpoint (self, checkpoint, TRUE); return TRUE; @@ -253,19 +248,16 @@ nm_checkpoint_manager_rollback (NMCheckpointManager *self, g_return_val_if_fail (results, FALSE); g_return_val_if_fail (!error || !*error, FALSE); - checkpoint = nm_checkpoint_manager_lookup_by_path (self, path); - if (!checkpoint) { - g_set_error (error, NM_MANAGER_ERROR, NM_MANAGER_ERROR_FAILED, - "checkpoint %s does not exist", path); + checkpoint = nm_checkpoint_manager_lookup_by_path (self, path, error); + if (!checkpoint) return FALSE; - } *results = rollback_checkpoint (self, checkpoint); return TRUE; } NMCheckpoint * -nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self, const char *path) +nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self, const char *path, GError **error) { NMCheckpoint *checkpoint; @@ -274,8 +266,11 @@ nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self, const char *pat checkpoint = (NMCheckpoint *) nm_dbus_manager_lookup_object (nm_dbus_object_get_manager (NM_DBUS_OBJECT (GET_MANAGER (self))), path); if ( !checkpoint - || !NM_IS_CHECKPOINT (checkpoint)) + || !NM_IS_CHECKPOINT (checkpoint)) { + g_set_error (error, NM_MANAGER_ERROR, NM_MANAGER_ERROR_INVALID_ARGUMENTS, + "checkpoint %s does not exist", path); return NULL; + } nm_assert (c_list_contains (&self->checkpoints_lst_head, &checkpoint->checkpoints_lst)); return checkpoint; diff --git a/src/nm-checkpoint-manager.h b/src/nm-checkpoint-manager.h index bcdf0d3602..158d670a12 100644 --- a/src/nm-checkpoint-manager.h +++ b/src/nm-checkpoint-manager.h @@ -32,7 +32,8 @@ NMCheckpointManager *nm_checkpoint_manager_new (NMManager *manager, GParamSpec * void nm_checkpoint_manager_free (NMCheckpointManager *self); NMCheckpoint *nm_checkpoint_manager_lookup_by_path (NMCheckpointManager *self, - const char *path); + const char *path, + GError **error); NMCheckpoint *nm_checkpoint_manager_create (NMCheckpointManager *self, const char *const*device_names, |