diff options
author | Dan Winship <danw@gnome.org> | 2013-10-10 09:31:23 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2013-10-10 09:33:26 -0400 |
commit | e5fbda83f6045a610054b179ae60fc062bded101 (patch) | |
tree | 2e95d49c9556b465b944e96447fd3943a3d37349 /libsoup | |
parent | 1e0656f8ceb6fb1eb019f3b083d3dfe610032b68 (diff) | |
download | libsoup-e5fbda83f6045a610054b179ae60fc062bded101.tar.gz |
soup-uri: minor code reorg/renaming
Change uri_decoded_copy() to strdup the input string *after* doing its
g_return_val_if_fail(), to avoid pointlessly confusing code analyzers.
Also, rename the function to soup_uri_decoded_copy(), since it's used
from soup-request-data.c too and it's been annoying me that it was
non-namespaced.
https://bugzilla.gnome.org/show_bug.cgi?id=709793
Diffstat (limited to 'libsoup')
-rw-r--r-- | libsoup/soup-misc-private.h | 2 | ||||
-rw-r--r-- | libsoup/soup-request-data.c | 5 | ||||
-rw-r--r-- | libsoup/soup-uri.c | 25 |
3 files changed, 18 insertions, 14 deletions
diff --git a/libsoup/soup-misc-private.h b/libsoup/soup-misc-private.h index e9c83f61..7ea2cdea 100644 --- a/libsoup/soup-misc-private.h +++ b/libsoup/soup-misc-private.h @@ -10,7 +10,7 @@ #include "soup-socket.h" #include "soup-message-headers.h" -char *uri_decoded_copy (const char *str, int length, int *decoded_length); +char *soup_uri_decoded_copy (const char *str, int length, int *decoded_length); char *soup_uri_to_string_internal (SoupURI *uri, gboolean just_path_and_query, gboolean force_port); gboolean soup_uri_is_http (SoupURI *uri, char **aliases); diff --git a/libsoup/soup-request-data.c b/libsoup/soup-request-data.c index 246854a7..678e84da 100644 --- a/libsoup/soup-request-data.c +++ b/libsoup/soup-request-data.c @@ -96,7 +96,7 @@ soup_request_data_send (SoupRequest *request, end = comma; if (end != start) - data->priv->content_type = uri_decoded_copy (start, end - start, NULL); + data->priv->content_type = soup_uri_decoded_copy (start, end - start, NULL); } memstream = g_memory_input_stream_new (); @@ -106,7 +106,8 @@ soup_request_data_send (SoupRequest *request, if (*start) { int decoded_length = 0; - guchar *buf = (guchar *) uri_decoded_copy (start, strlen (start), &decoded_length); + guchar *buf = (guchar *) soup_uri_decoded_copy (start, strlen (start), + &decoded_length); if (base64) buf = g_base64_decode_inplace ((gchar*) buf, &data->priv->content_length); diff --git a/libsoup/soup-uri.c b/libsoup/soup-uri.c index 808d2ccc..e3092dcf 100644 --- a/libsoup/soup-uri.c +++ b/libsoup/soup-uri.c @@ -293,15 +293,15 @@ soup_uri_new_with_base (SoupURI *base, const char *uri_string) if (at && at < path) { colon = strchr (uri_string, ':'); if (colon && colon < at) { - uri->password = uri_decoded_copy (colon + 1, - at - colon - 1, NULL); + uri->password = soup_uri_decoded_copy (colon + 1, + at - colon - 1, NULL); } else { uri->password = NULL; colon = at; } - uri->user = uri_decoded_copy (uri_string, - colon - uri_string, NULL); + uri->user = soup_uri_decoded_copy (uri_string, + colon - uri_string, NULL); uri_string = at + 1; } else uri->user = uri->password = NULL; @@ -322,14 +322,16 @@ soup_uri_new_with_base (SoupURI *base, const char *uri_string) colon = NULL; pct = memchr (uri_string, '%', hostend - uri_string); - if (!pct || (pct[1] == '2' && pct[2] == '5')) - uri->host = uri_decoded_copy (uri_string, hostend - uri_string, NULL); - else + if (!pct || (pct[1] == '2' && pct[2] == '5')) { + uri->host = soup_uri_decoded_copy (uri_string, + hostend - uri_string, NULL); + } else uri->host = g_strndup (uri_string, hostend - uri_string); } else { colon = memchr (uri_string, ':', path - uri_string); hostend = colon ? colon : path; - uri->host = uri_decoded_copy (uri_string, hostend - uri_string, NULL); + uri->host = soup_uri_decoded_copy (uri_string, + hostend - uri_string, NULL); } if (colon && colon != path - 1) { @@ -719,13 +721,14 @@ soup_uri_encode (const char *part, const char *escape_extra) #define HEXCHAR(s) ((XDIGIT (s[1]) << 4) + XDIGIT (s[2])) char * -uri_decoded_copy (const char *part, int length, int *decoded_length) +soup_uri_decoded_copy (const char *part, int length, int *decoded_length) { unsigned char *s, *d; - char *decoded = g_strndup (part, length); + char *decoded; g_return_val_if_fail (part != NULL, NULL); + decoded = g_strndup (part, length); s = d = (unsigned char *)decoded; do { if (*s == '%') { @@ -763,7 +766,7 @@ soup_uri_decode (const char *part) { g_return_val_if_fail (part != NULL, NULL); - return uri_decoded_copy (part, strlen (part), NULL); + return soup_uri_decoded_copy (part, strlen (part), NULL); } static char * |