diff options
author | Sébastien Bianti <sebastien.bianti@linux.intel.com> | 2012-04-18 15:27:46 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2012-04-18 17:29:57 +0200 |
commit | 35439b9723183a5dd87b4b0f0e41c3f6c33f5330 (patch) | |
tree | d97607524dca3c87e0c7837def8d5b29e0599024 | |
parent | 2ccb35f027444f380fe0a43f873502bf648c02c8 (diff) | |
download | mmsd-35439b9723183a5dd87b4b0f0e41c3f6c33f5330.tar.gz |
service: refactoring error code
-rw-r--r-- | src/service.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/service.c b/src/service.c index e577198..bcfd9e0 100644 --- a/src/service.c +++ b/src/service.c @@ -1816,7 +1816,7 @@ static gboolean web_get_cb(GWebResult *result, gpointer user_data) if (g_web_result_get_chunk(result, &chunk, &chunk_size) == FALSE) { mms_error("Fail to get data chunk"); - goto error; + goto complete; } if (chunk_size == 0) { @@ -1834,21 +1834,21 @@ static gboolean web_get_cb(GWebResult *result, gpointer user_data) if (written != chunk_size) { mms_error("only %zd/%zd bytes written\n", written, chunk_size); - goto error; + goto complete; } return TRUE; -error: - unlink(request->data_path); - complete: close(request->fd); - if (request->result_cb != NULL) - request->result_cb(request); - - mms_request_destroy(request); + if (request->result_cb == NULL || request->result_cb(request) == TRUE) + mms_request_destroy(request); + else { + mms_error("Fail to get data (http status = %03u)", + request->status); + unlink(request->data_path); + } request->service->current_request_id = 0; |