aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Bianti <sebastien.bianti@linux.intel.com>2012-04-18 15:27:46 +0200
committerMarcel Holtmann <marcel@holtmann.org>2012-04-18 17:29:57 +0200
commit35439b9723183a5dd87b4b0f0e41c3f6c33f5330 (patch)
treed97607524dca3c87e0c7837def8d5b29e0599024
parent2ccb35f027444f380fe0a43f873502bf648c02c8 (diff)
downloadmmsd-35439b9723183a5dd87b4b0f0e41c3f6c33f5330.tar.gz
service: refactoring error code
-rw-r--r--src/service.c18
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;