src/protocols/yahoo/conn.c

changeset 2145
6141a0917e12
parent 2086
007508451e2c
child 2451
7b3b1fbaea03
--- a/src/protocols/yahoo/conn.c	Wed Aug 15 18:09:48 2001 +0000
+++ b/src/protocols/yahoo/conn.c	Wed Aug 15 19:23:03 2001 +0000
@@ -19,6 +19,7 @@
  *
  */
 
+#include <string.h>
 #include "internal.h"
 
 void (*yahoo_socket_notify)(struct yahoo_session *, int, int, gboolean) = NULL;
@@ -97,10 +98,12 @@
 	conn->connected = TRUE;
 	if (conn->type == YAHOO_CONN_TYPE_AUTH) {
 		if (session->callbacks[YAHOO_HANDLE_AUTHCONNECT].function)
-			(*session->callbacks[YAHOO_HANDLE_AUTHCONNECT].function)(session);
+			if (!(*session->callbacks[YAHOO_HANDLE_AUTHCONNECT].function)(session))
+				return 0;
 	} else if (conn->type == YAHOO_CONN_TYPE_MAIN) {
 		if (session->callbacks[YAHOO_HANDLE_MAINCONNECT].function)
-			(*session->callbacks[YAHOO_HANDLE_MAINCONNECT].function)(session);
+			if (!(*session->callbacks[YAHOO_HANDLE_MAINCONNECT].function)(session))
+				return 0;
 	} else if (conn->type == YAHOO_CONN_TYPE_DUMB) {
 		YAHOO_PRINT(session, YAHOO_LOG_DEBUG, "sending to buddy list host");
 		yahoo_write(session, conn, conn->txqueue, strlen(conn->txqueue));

mercurial