diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2017-10-07 10:50:48 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2017-10-07 10:55:16 +0200 |
commit | 74d8a69b4ec855c84249458416be584a5be3e4c1 (patch) | |
tree | 690ce88c50cdd1be902f532666c38b65b0d691ad | |
parent | 3c2b974bbd5d9bc6645fa6eed93504ef84739dc1 (diff) |
iridium: simplify a bit the saved_error logic in connect
Note that saved_error will be freed along with the context, unless
it's set to NULL.
-rw-r--r-- | plugins/iridium/mm-bearer-iridium.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/plugins/iridium/mm-bearer-iridium.c b/plugins/iridium/mm-bearer-iridium.c index f266f12d..d0adeb0c 100644 --- a/plugins/iridium/mm-bearer-iridium.c +++ b/plugins/iridium/mm-bearer-iridium.c @@ -66,7 +66,6 @@ connect_report_ready (MMBaseModem *modem, { ConnectContext *ctx; const gchar *result; - GError *error = NULL; /* If cancelled, complete */ if (g_task_return_error_if_cancelled (task)) { @@ -79,16 +78,15 @@ connect_report_ready (MMBaseModem *modem, /* If we got a proper extended reply, build the new error to be set */ result = mm_base_modem_at_command_full_finish (modem, res, NULL); if (result && g_str_has_prefix (result, "+CEER: ") && strlen (result) > 7) { - error = g_error_new (ctx->saved_error->domain, - ctx->saved_error->code, - "%s", &result[7]); - g_error_free (ctx->saved_error); - } else + g_task_return_new_error (task, + ctx->saved_error->domain, + ctx->saved_error->code, + "%s", &result[7]); + } else { /* Otherwise, take the original error as it was */ - g_propagate_error (&error, ctx->saved_error); - - ctx->saved_error = NULL; - g_task_return_error (task, error); + g_task_return_error (task, ctx->saved_error); + ctx->saved_error = NULL; + } g_object_unref (task); } |