From 79fced36ef628e5a860d70c2133431ff7beef9ee Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Tue, 9 Feb 2010 18:59:53 +0000 Subject: [PATCH] Return NULL when GisHttp fetch fails --- src/data/gis-http.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/data/gis-http.c b/src/data/gis-http.c index d9f29a5..0765415 100644 --- a/src/data/gis-http.c +++ b/src/data/gis-http.c @@ -154,20 +154,22 @@ gchar *gis_http_fetch(GisHttp *http, const gchar *uri, const char *local, soup_message_headers_set_range(message->request_headers, ftell(fp), -1); soup_session_send_message(http->soup, message); + /* Close file */ + fclose(fp); + if (path != part && SOUP_STATUS_IS_SUCCESSFUL(message->status_code)) { + g_rename(part, path); + g_free(part); + } + /* Finished */ if (message->status_code == 416) { /* Range unsatisfiable, file already complete */ - } else if (!SOUP_STATUS_IS_SUCCESSFUL(message->status_code)) + } else if (!SOUP_STATUS_IS_SUCCESSFUL(message->status_code)) { g_warning("GisHttp: done_cb - error copying file, status=%d\n" "\tsrc=%s\n" "\tdst=%s", message->status_code, uri, path); - - /* Close file */ - fclose(fp); - if (path != part && SOUP_STATUS_IS_SUCCESSFUL(message->status_code)) { - g_rename(part, path); - g_free(part); + return NULL; } } -- 2.43.2