From: Sergio Villar Senin Date: Mon, 31 Jan 2011 12:29:22 +0000 (+0100) Subject: soup-request-data: return decoded contents for non-base64 data URLs X-Git-Tag: LIBSOUP_2_33_6~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ea5b7457064727ae96b97ca5ad93d23cee1ba12e;p=platform%2Fupstream%2Flibsoup.git soup-request-data: return decoded contents for non-base64 data URLs SoupRequestData was not returning the decoded version of data URLs when they were not encoded in base64 https://bugzilla.gnome.org/show_bug.cgi?id=641022 --- diff --git a/libsoup/soup-request-data.c b/libsoup/soup-request-data.c index a385763..8c97bf8 100644 --- a/libsoup/soup-request-data.c +++ b/libsoup/soup-request-data.c @@ -91,9 +91,14 @@ soup_request_data_send (SoupRequest *request, end = comma; if (end != start) { - data->priv->content_type = g_strndup (start, end - start); - if (!base64) - soup_uri_decode (data->priv->content_type); + char *encoded_content_type = g_strndup (start, end - start); + + if (base64) + data->priv->content_type = encoded_content_type; + else { + data->priv->content_type = soup_uri_decode (encoded_content_type); + g_free (encoded_content_type); + } } } @@ -119,9 +124,8 @@ soup_request_data_send (SoupRequest *request, goto fail; } } else { - soup_uri_decode (start); - data->priv->content_length = strlen (start); - buf = g_memdup (start, data->priv->content_length); + buf = (guchar *) soup_uri_decode (start); + data->priv->content_length = strlen ((const char *) buf); } g_memory_input_stream_add_data (G_MEMORY_INPUT_STREAM (memstream),