aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/http_client.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2006-05-10 19:34:46 +0200
committerWilmer van der Gaast <wilmer@gaast.net>2006-05-10 19:34:46 +0200
commitba9edaa568088900145bbd1004c864b7d408c38d (patch)
treed6bd8b68d9d9ade9b3cb1e4d484751badc3c9bbe /protocols/http_client.c
parent67b6766489f1b9b5f2249659b0ddf260e6f8f51b (diff)
Moved everything to the BitlBee event handling API.
Diffstat (limited to 'protocols/http_client.c')
-rw-r--r--protocols/http_client.c40
1 files changed, 21 insertions, 19 deletions
diff --git a/protocols/http_client.c b/protocols/http_client.c
index 9417e200..0142bb2e 100644
--- a/protocols/http_client.c
+++ b/protocols/http_client.c
@@ -31,9 +31,9 @@
#include "sock.h"
-static void http_connected( gpointer data, int source, GaimInputCondition cond );
-static void http_ssl_connected( gpointer data, void *source, GaimInputCondition cond );
-static void http_incoming_data( gpointer data, int source, GaimInputCondition cond );
+static gboolean http_connected( gpointer data, int source, b_input_condition cond );
+static gboolean http_ssl_connected( gpointer data, void *source, b_input_condition cond );
+static gboolean http_incoming_data( gpointer data, int source, b_input_condition cond );
void *http_dorequest( char *host, int port, int ssl, char *request, http_input_function func, gpointer data )
@@ -72,7 +72,7 @@ void *http_dorequest( char *host, int port, int ssl, char *request, http_input_f
/* This one is actually pretty simple... Might get more calls if we can't write
the whole request at once. */
-static void http_connected( gpointer data, int source, GaimInputCondition cond )
+static gboolean http_connected( gpointer data, int source, b_input_condition cond )
{
struct http_request *req = data;
int st;
@@ -81,7 +81,7 @@ static void http_connected( gpointer data, int source, GaimInputCondition cond )
goto error;
if( req->inpa > 0 )
- gaim_input_remove( req->inpa );
+ b_event_remove( req->inpa );
sock_make_nonblocking( req->fd );
@@ -116,13 +116,13 @@ static void http_connected( gpointer data, int source, GaimInputCondition cond )
req->bytes_written += st;
if( req->bytes_written < req->request_length )
- req->inpa = gaim_input_add( source,
- req->ssl ? ssl_getdirection( req->ssl ) : GAIM_INPUT_WRITE,
- http_connected, req );
+ req->inpa = b_input_add( source,
+ req->ssl ? ssl_getdirection( req->ssl ) : GAIM_INPUT_WRITE,
+ http_connected, req );
else
- req->inpa = gaim_input_add( source, GAIM_INPUT_READ, http_incoming_data, req );
+ req->inpa = b_input_add( source, GAIM_INPUT_READ, http_incoming_data, req );
- return;
+ return FALSE;
error:
req->func( req );
@@ -130,10 +130,10 @@ error:
g_free( req->request );
g_free( req );
- return;
+ return FALSE;
}
-static void http_ssl_connected( gpointer data, void *source, GaimInputCondition cond )
+static gboolean http_ssl_connected( gpointer data, void *source, b_input_condition cond )
{
struct http_request *req = data;
@@ -145,7 +145,7 @@ static void http_ssl_connected( gpointer data, void *source, GaimInputCondition
return http_connected( data, req->fd, cond );
}
-static void http_incoming_data( gpointer data, int source, GaimInputCondition cond )
+static gboolean http_incoming_data( gpointer data, int source, b_input_condition cond )
{
struct http_request *req = data;
int evil_server = 0;
@@ -154,7 +154,7 @@ static void http_incoming_data( gpointer data, int source, GaimInputCondition co
int st;
if( req->inpa > 0 )
- gaim_input_remove( req->inpa );
+ b_event_remove( req->inpa );
if( req->ssl )
{
@@ -201,11 +201,11 @@ static void http_incoming_data( gpointer data, int source, GaimInputCondition co
}
/* There will be more! */
- req->inpa = gaim_input_add( req->fd,
- req->ssl ? ssl_getdirection( req->ssl ) : GAIM_INPUT_READ,
- http_incoming_data, req );
+ req->inpa = b_input_add( req->fd,
+ req->ssl ? ssl_getdirection( req->ssl ) : GAIM_INPUT_READ,
+ http_incoming_data, req );
- return;
+ return FALSE;
got_reply:
/* Zero termination is very convenient. */
@@ -361,7 +361,7 @@ got_reply:
req->bytes_read = req->bytes_written = req->inpa = 0;
req->reply_headers = req->reply_body = NULL;
- return;
+ return FALSE;
}
/* Assume that a closed connection means we're finished, this indeed
@@ -379,4 +379,6 @@ cleanup:
g_free( req->request );
g_free( req->reply_headers );
g_free( req );
+
+ return FALSE;
}