libpurple/protocols/msn/soap.c

changeset 34219
eee308def583
parent 34218
de45cb0670a5
child 34264
e531664a3ad1
--- a/libpurple/protocols/msn/soap.c	Sat Jun 22 20:20:39 2013 +0200
+++ b/libpurple/protocols/msn/soap.c	Sun Jun 23 01:03:34 2013 +0200
@@ -27,7 +27,7 @@
 
 #include "soap.h"
 
-#include "obsolete.h"
+#include "http.h"
 #include "session.h"
 
 #include "debug.h"
@@ -270,27 +270,28 @@
 }
 
 static gboolean
-msn_soap_handle_redirect(MsnSoapConnection *conn, const char *url)
+msn_soap_handle_redirect(MsnSoapConnection *conn, const char *url_raw)
 {
-	char *host;
-	char *path;
+	MsnSoapRequest *req;
+	PurpleHttpURL *url;
 
-	if (purple_url_parse(url, &host, NULL, &path, NULL, NULL)) {
-		MsnSoapRequest *req = conn->current_request;
-		conn->current_request = NULL;
+	url = purple_http_url_parse(url_raw);
+	if (!url)
+		return FALSE;
 
-		msn_soap_message_send_internal(conn->session, req->message, host, path,
-			req->secure, req->cb, req->cb_data, TRUE);
+	req = conn->current_request;
+	conn->current_request = NULL;
 
-		msn_soap_request_destroy(req, TRUE);
+	msn_soap_message_send_internal(conn->session, req->message,
+		purple_http_url_get_host(url), purple_http_url_get_path(url),
+		req->secure, req->cb, req->cb_data, TRUE);
 
-		g_free(host);
-		g_free(path);
+	msn_soap_request_destroy(req, TRUE);
 
-		return TRUE;
-	}
+	purple_http_url_free(url);
 
-	return FALSE;
+	return TRUE;
+
 }
 
 static gboolean

mercurial