diff src/protocols/yahoo/conn.c @ 2145:91223be78b70

[gaim-migrate @ 2155] thanks to Valdis Kletnieks for pointing this out. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Wed, 15 Aug 2001 19:23:03 +0000
parents 424a40f12a6c
children f89313102962
line wrap: on
line diff
--- 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));