[ekg2-commit] r4241 - in trunk: ekg plugins/icq plugins/irc plugins/polchat: trunk/ekg/sessions.h trunk/plugins/icq/icq.c trunk/plugins/icq/icq.h trunk/plugins/icq/icq_flap_handlers.c trunk/plugins/irc/irc.c trunk/plugins/irc/irc.h trunk/plugins/irc/misc.c trunk/plugins/polchat/polchat.c trunk/plugins/polchat/polchat_handlers.c

SVN commit svn w toxygen.net
Pią, 8 Sie 2008, 21:06:40 CEST


Author: darkjames
Date: 2008-08-08 21:06:39 +0200 (Fri, 08 Aug 2008)
New Revision: 4241

Modified:
   trunk/ekg/sessions.h
   trunk/plugins/icq/icq.c
   trunk/plugins/icq/icq.h
   trunk/plugins/icq/icq_flap_handlers.c
   trunk/plugins/irc/irc.c
   trunk/plugins/irc/irc.h
   trunk/plugins/irc/misc.c
   trunk/plugins/polchat/polchat.c
   trunk/plugins/polchat/polchat_handlers.c
Log:
we've got connecting field in session_t, so let's use it.


Modified: trunk/ekg/sessions.h
===================================================================
--- trunk/ekg/sessions.h	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/ekg/sessions.h	2008-08-08 19:06:39 UTC (rev 4241)
@@ -121,7 +121,7 @@
 	char		*password;		/**< session's account password */
 
 	unsigned int	connected	: 1;	/**< whether session is connected */
-	unsigned int	connecting	: 1;	/**< whether session is currently being connected */
+	unsigned int	connecting	: 2;	/**< whether session is currently being connected */
 	unsigned int	autoaway	: 1;	/**< whether we're in autoaway */
 
 	time_t		activity;		/**< timestamp of last activity */

Modified: trunk/plugins/icq/icq.c
===================================================================
--- trunk/plugins/icq/icq.c	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/plugins/icq/icq.c	2008-08-08 19:06:39 UTC (rev 4241)
@@ -215,7 +215,6 @@
 }
 
 void icq_session_connected(session_t *s) {
-	icq_private_t *j = s->priv;
 	string_t pkt;
 
 	icq_write_info(s);
@@ -371,7 +370,6 @@
 #endif
 	}
 	protocol_connected_emit(s);
-	j->connecting = 0;
 
 	icq_write_status_msg(s);
 }
@@ -472,10 +470,9 @@
 	if (!s || !(j = s->priv))
 		return;
 
-	if (!s->connected && !j->connecting)
+	if (!s->connected && !s->connecting)
 		return;
 
-	j->connecting = 0;
 	timer_remove_session(s, "ping");
 	protocol_disconnected_emit(s, reason, type);
 
@@ -510,7 +507,7 @@
 		return -1;
 	}
 
-	debug("[icq] handle_connect(%d)\n", j->connecting);
+	debug("[icq] handle_connect(%d)\n", s->connecting);
 
 	if (type || getsockopt(fd, SOL_SOCKET, SO_ERROR, &res, &res_size) || res) {
 		if (type) 
@@ -540,7 +537,7 @@
 
 	len = read(fd, buf, sizeof(buf));
 
-	debug("icq_handle_stream(%d) rcv: %d\n", j->connecting, len);
+	debug("icq_handle_stream(%d) rcv: %d\n", s->connecting, len);
 
 	if (len < 1) {
 		icq_handle_disconnect(s, strerror(errno), EKG_DISCONNECT_NETWORK);
@@ -580,10 +577,10 @@
 		j->fd = j->fd2;
 		j->fd2 = -1;
 
-		if (j->connecting == 2) {
+		if (s->connecting == 2) {
 			watch_add_session(s, j->fd, WATCH_WRITE, icq_handle_connect);
 		} else {
-			debug_error("unknown j->connecting: %d\n", j->connecting);
+			debug_error("unknown s->connecting: %d\n", s->connecting);
 		}
 		return -1;
 	}
@@ -610,7 +607,7 @@
 	if (!s || !(j = s->priv))
 		return -1;
 
-	if (!j->connecting)	/* user makes /disconnect before resolver finished */
+	if (!s->connecting)	/* user makes /disconnect before resolver finished */
 		return -1;
 
 	res = read(fd, &a, sizeof(a));
@@ -624,7 +621,7 @@
 		/* no point in reconnecting by icq_handle_disconnect() XXX? */
 
 		print("conn_failed", format_find("conn_failed_resolving"), session_name(s));
-		j->connecting = 0;
+		s->connecting = 0;
 		return -1;
 	}
 
@@ -897,7 +894,7 @@
 	icq_private_t *j = session->priv;
 	const char *hubserver;
 
-	if (j->connecting) {
+	if (session->connecting) {
 		printq("during_connect", session_name(session));
 		return -1;
 	}
@@ -923,13 +920,13 @@
 	if (!(hubserver = session_get(session, "hubserver"))) 
 		hubserver = ICQ_HUB_SERVER;
 
-	j->connecting = 1;
+	session->connecting = 1;
 	j->ssi = 1;	/* XXX */
 	j->aim = 1;	/* XXX */
 
 	if (ekg_resolver2(&icq_plugin, hubserver, icq_handle_hubresolver, xstrdup(session->uid)) == NULL) {
 		print("generic_error", strerror(errno));
-		j->connecting = 0;
+		session->connecting = 0;
 		return -1;
 	}
 
@@ -937,19 +934,17 @@
 }
 
 static COMMAND(icq_command_disconnect) {
-	icq_private_t *j = session->priv;
-
 	if (timer_remove_session(session, "reconnect") == 0) {
 		printq("auto_reconnect_removed", session_name(session));
 		return 0;
 	}
 
-	if (!j->connecting && !session->connected) {
+	if (!session->connecting && !session->connected) {
 		printq("not_connected", session_name(session));
 		return -1;
 	}
 
-	if (j->connecting)
+	if (session->connecting)
 		icq_handle_disconnect(session, NULL, EKG_DISCONNECT_STOPPED);
 	else    
 		icq_handle_disconnect(session, NULL, EKG_DISCONNECT_USER);
@@ -958,9 +953,7 @@
 }
 
 static COMMAND(icq_command_reconnect) {
-	icq_private_t   *j = session->priv;
-
-	if (j->connecting || session->connected)
+	if (session->connecting || session->connected)
 		icq_command_disconnect(name, params, session, target, quiet);
 
 	return icq_command_connect(name, params, session, target, quiet);

Modified: trunk/plugins/icq/icq.h
===================================================================
--- trunk/plugins/icq/icq.h	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/plugins/icq/icq.h	2008-08-08 19:06:39 UTC (rev 4241)
@@ -8,7 +8,6 @@
 typedef struct {
 	int fd;
 	int fd2;
-	int connecting;
 
 	int flap_seq;		/* FLAP seq id */
 	int snac_seq;		/* SNAC seq id */

Modified: trunk/plugins/icq/icq_flap_handlers.c
===================================================================
--- trunk/plugins/icq/icq_flap_handlers.c	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/plugins/icq/icq_flap_handlers.c	2008-08-08 19:06:39 UTC (rev 4241)
@@ -101,7 +101,7 @@
 		return -2;
 	}
 
-	if (j->connecting == 1) {	/* hub connecting */
+	if (s->connecting == 1) {	/* hub connecting */
 		if (session_int_get(s, "plaintext_passwd") == 1) {
 			string_t str;
 			char *password;
@@ -151,7 +151,7 @@
 
 	}
 	else
-	if (j->connecting == 2) {	/* server connecting */
+	if (s->connecting == 2) {	/* server connecting */
 		string_t str;
 
 		debug("icq_flap_login(2) s=0x%x cookie=0x%x cookielen=%d\n", s, j->cookie, j->cookie ? j->cookie->len : -1);
@@ -183,7 +183,7 @@
 		string_free(j->cookie, 1); j->cookie = NULL;
 	}
 	else {
-		debug_error("icq_flap_login(%d) XXX?\n", j->connecting);
+		debug_error("icq_flap_login(%d) XXX?\n", s->connecting);
 		return -2;
 	}
 
@@ -288,7 +288,7 @@
 		icq_makeflap(s, pkt, ICQ_FLAP_CLOSE);
 		icq_send_pkt(s, pkt); pkt = NULL;
 
-		j->connecting = 2;
+		s->connecting = 2;
 
 		if ((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {
 			int err = errno;

Modified: trunk/plugins/irc/irc.c
===================================================================
--- trunk/plugins/irc/irc.c	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/plugins/irc/irc.c	2008-08-08 19:06:39 UTC (rev 4241)
@@ -702,8 +702,6 @@
 		return;
 	}
 
-	j->connecting = 0;
-
 	// !!! 
 	if (j->send_watch) {
 		j->send_watch->type = WATCH_NONE;
@@ -759,12 +757,12 @@
 		return -1;
 
 	if (type) {
-		debug("[irc] handle_resolver for session %s type = 1 !! 0x%x resolving = %d connecting = %d\n", resolv->session, resolv->plist, j->resolving, j->connecting);
+		debug("[irc] handle_resolver for session %s type = 1 !! 0x%x resolving = %d connecting = %d\n", resolv->session, resolv->plist, j->resolving, s->connecting);
 		xfree(resolv->session);
 		xfree(resolv);
 		if (j->resolving > 0)
 			j->resolving--;
-		if (j->resolving == 0 && j->connecting == 2) {
+		if (j->resolving == 0 && s->connecting == 2) {
 			debug("[irc] hadnle_resolver calling really_connect\n");
 			irc_really_connect(s);
 		}
@@ -806,10 +804,10 @@
 	if (type == 1) {
 		j->recv_watch = NULL;
 		/* this will cause  'Removed more than one watch...' */
-		debug ("[irc] handle_stream(): ROZŁĄCZYŁO %d %d\n", s->connected, j->connecting);
+		debug ("[irc] handle_stream(): ROZŁĄCZYŁO %d %d\n", s->connected, s->connecting);
 		
 		/* avoid reconnecting when we do /disconnect */
-		if (s->connected || j->connecting)
+		if (s->connected || s->connecting)
 			irc_handle_disconnect(s, NULL, EKG_DISCONNECT_NETWORK);
 		return 0;
 	}
@@ -1003,7 +1001,7 @@
 		} else
 			break;
 	}
-	j->connecting = 1;
+	session->connecting = 1;
 	DOT("IRC_TEST", "Connecting", connco, session, 0);
 	connret = connect(fd, sinco, sinlen);
 	debug("connecting: %s %s\n", connco->hostname, connco->address);
@@ -1049,7 +1047,7 @@
 		printq("generic_error", "gdzie lecimy ziom ?! [/session server]");
 		return -1;
 	}
-	if (j->connecting) {
+	if (session->connecting) {
 		printq("during_connect", session_name(session));
 		return -1;
 	}
@@ -1066,7 +1064,7 @@
 	}
 	if (j->resolving) {
 		printq("generic", "resolving in progress... you will be connected as soon as possible");
-		j->connecting = 2;
+		session->connecting = 2;
 		return -1;
 	}
 	return irc_really_connect(session);
@@ -1077,7 +1075,7 @@
 	const char	*reason = params[0]?params[0]:QUITMSG(session);
 	debug("[irc] comm_disconnect() !!!\n");
 
-	if (!j->connecting && !session_connected_get(session) && !j->autoreconnecting) {
+	if (!session->connecting && !session_connected_get(session) && !j->autoreconnecting) {
 		printq("not_connected", session_name(session));
 		return -1;
 	}
@@ -1085,7 +1083,7 @@
 	if (reason && session_connected_get(session))
 		watch_write(j->send_watch, "QUIT :%s\r\n", reason);
 
-	if (j->connecting || j->autoreconnecting)
+	if (session->connecting || j->autoreconnecting)
 		irc_handle_disconnect(session, reason, EKG_DISCONNECT_STOPPED);
 	else
 		irc_handle_disconnect(session, reason, EKG_DISCONNECT_USER);
@@ -1094,9 +1092,7 @@
 }
 
 static COMMAND(irc_command_reconnect) {
-	irc_private_t	*j = irc_private(session);
-
-	if (j->connecting || session_connected_get(session)) 
+	if (session->connecting || session_connected_get(session)) 
 		irc_command_disconnect(name, params, session, target, quiet);
 	return irc_command_connect(name, params, session, target, quiet);
 }
@@ -2254,14 +2250,14 @@
 static COMMAND(irc_command_nick) {
 	irc_private_t	*j = irc_private(session);
 
-	/* GiM: XXX FIXME TODO think more about j->connecting... */
-	if (j->connecting || session_connected_get(session)) {
+	/* GiM: XXX FIXME TODO think more about session->connecting... */
+	if (session->connecting || session_connected_get(session)) {
 		watch_write(j->send_watch, "NICK %s\r\n", params[0]);
 		/* this is needed, couse, when connecting and server will
 		 * respond, nickname is already in use, and user
 		 * will type /nick somethin', server doesn't send respond
 		 * about nickname.... */
-		if (j->connecting) {
+		if (session->connecting) {
 			xfree(j->nick);
 			j->nick = xstrdup(params[0]);
 		}
@@ -2282,7 +2278,7 @@
 		DOT("IRC_TEST", "Bind to:", ((connector_t *) tlist->data), session, 0);
 
 	if (j->conntmplist && j->conntmplist->data) {
-		if (j->connecting)
+		if (session->connecting)
 			DOT("IRC_TEST", "Connecting:", ((connector_t *) j->conntmplist->data), session, 0);
 		else if (session_connected_get(session))
 			DOT("IRC_TEST", "Connected:", ((connector_t *) j->conntmplist->data), session, 0);

Modified: trunk/plugins/irc/irc.h
===================================================================
--- trunk/plugins/irc/irc.h	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/plugins/irc/irc.h	2008-08-08 19:06:39 UTC (rev 4241)
@@ -39,7 +39,6 @@
 
 typedef struct _irc_private_t {
 	int fd;				/* connection's fd */
-	int connecting;			/* are we connecting _now_ ? */
 	int autoreconnecting;		/* are we in reconnecting mode now? */
 	int resolving;			/* count of resolver threads. */
 	list_t bindlist, bindtmplist;

Modified: trunk/plugins/irc/misc.c
===================================================================
--- trunk/plugins/irc/misc.c	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/plugins/irc/misc.c	2008-08-08 19:06:39 UTC (rev 4241)
@@ -471,7 +471,6 @@
 			if (t)  j->host_ident=xstrdup(++t); 
 			else j->host_ident=NULL;
 			debug("\nspoko miejscówka ziom!...[%s:%s]\n", j->nick, j->host_ident);
-			j->connecting = 0;
 			j->autoreconnecting = 0;
 
 			j->casemapping = IRC_CASEMAPPING_RFC1459;
@@ -558,9 +557,9 @@
 		 * no I:line's etc.. everything that disconnects fd
 		 */
 /*		print_info(NULL, s, "IRC_ERR_FIRSTSECOND", session_name(s), irccommands[ecode].comm, IOK2(2)); */
-		if (j->connecting)
+		if (s->connecting)
 			irc_handle_disconnect(s, IOK2(2), EKG_DISCONNECT_FAILURE); 
-		else    debug("!j->connecting\n");
+		else    debug("!s->connecting\n");
 		return -1;
 	}
 	i = irccommands[ecode].future&0x100;
@@ -611,7 +610,7 @@
 		case 433:
 			print_info(NULL, s, "IRC_ERR_SECONDFIRST", 
 					session_name(s), param[3], IOK2(4));
-			if (j->connecting) {
+			if (s->connecting) {
 				altnick = (char *) session_get(s, "alt_nick");
 				/* G->dj: why this !xstrcmp ? */
 				if (altnick && !xstrcmp(param[3], session_get(s, "nickname")) && xstrcmp(param[3], altnick)) {
@@ -1100,7 +1099,7 @@
 	 */
 
 	/* probably message from server ... */
-	if (j->connecting && !prv) {
+	if (s->connecting && !prv) {
 		/* (!xstrcmp(":_empty_", param[0]) || !xstrcmp("AUTH", param[2])) */
 		class = (mw&16)?EKG_MSGCLASS_CHAT:EKG_MSGCLASS_MESSAGE; 
 		dest = xstrdup(param[2]);

Modified: trunk/plugins/polchat/polchat.c
===================================================================
--- trunk/plugins/polchat/polchat.c	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/plugins/polchat/polchat.c	2008-08-08 19:06:39 UTC (rev 4241)
@@ -66,7 +66,6 @@
 
 typedef struct {
 	int fd;
-	int connecting;
 
 	char *nick;
 	char *room;
@@ -301,10 +300,9 @@
 	if (!s || !(j = s->priv))
 		return;
 
-	if (!s->connected && !j->connecting)
+	if (!s->connected && !s->connecting)
 		return;
 	
-	j->connecting = 0;
 	userlist_free(s);
 
 	protocol_disconnected_emit(s, reason, type);
@@ -406,7 +404,7 @@
 
 	/* here we shouldn't have any WATCH_WRITE watch */
 
-	j->connecting = 2;
+	s->connecting = 2;
 
 	polchat_sendpkt(s, 0x0578, 
 		j->nick,						/* nickname */
@@ -444,7 +442,7 @@
 	if (!s || !(j = s->priv))
 		return -1;
 
-	if (!j->connecting)		/* user makes /disconnect before resolver finished */
+	if (!s->connecting)		/* user makes /disconnect before resolver finished */
 		return -1;
 
 	res = read(fd, &a, sizeof(a));
@@ -458,7 +456,7 @@
 		/* no point in reconnecting by polchat_handle_disconnect() */
 
 		print("conn_failed", format_find("conn_failed_resolving"), session_name(s));
-		j->connecting = 0;
+		s->connecting = 0;
 		return -1;
 	}
 
@@ -507,7 +505,7 @@
 	const char *nick;
 	const char *room;
 
-	if (j->connecting) {
+	if (session->connecting) {
 		printq("during_connect", session_name(session));
 		return -1;
 	}
@@ -547,11 +545,11 @@
 
 	string_clear(j->recvbuf);
 
-	j->connecting = 1;
+	session->connecting = 1;
 
 	if (ekg_resolver2(&polchat_plugin, server, polchat_handle_resolver, xstrdup(session->uid)) == NULL) {
 		print("generic_error", strerror(errno));
-		j->connecting = 0;
+		session->connecting = 0;
 		return -1;
 	}
 
@@ -561,7 +559,6 @@
 }
 
 static COMMAND(polchat_command_disconnect) {
-	polchat_private_t *j = session->priv;
 	const char *reason = params[0]?params[0]:QUITMSG(session);
 
 	if (timer_remove_session(session, "reconnect") == 0) {
@@ -569,7 +566,7 @@
 		return 0;
 	}
 
-	if (!j->connecting && !session_connected_get(session)) {
+	if (!session->connecting && !session_connected_get(session)) {
 		printq("not_connected", session_name(session));
 		return -1;
 	}
@@ -578,7 +575,7 @@
 		polchat_sendmsg(session, "/quit %s", reason);
 	}
 
-	if (j->connecting)
+	if (session->connecting)
 		polchat_handle_disconnect(session, reason, EKG_DISCONNECT_STOPPED);
 	else    
 		polchat_handle_disconnect(session, reason, EKG_DISCONNECT_USER);
@@ -587,9 +584,7 @@
 }
 
 static COMMAND(polchat_command_reconnect) {
-	polchat_private_t   *j = session->priv;
-
-	if (j->connecting || session_connected_get(session))
+	if (session->connecting || session_connected_get(session))
 		polchat_command_disconnect(name, params, session, target, quiet);
 
 	return polchat_command_connect(name, params, session, target, quiet);

Modified: trunk/plugins/polchat/polchat_handlers.c
===================================================================
--- trunk/plugins/polchat/polchat_handlers.c	2008-08-08 15:38:35 UTC (rev 4240)
+++ trunk/plugins/polchat/polchat_handlers.c	2008-08-08 19:06:39 UTC (rev 4241)
@@ -330,11 +330,10 @@
 	if (nheaders == 1 && nstrings == 1) {
 		window_t *w;
 
-		if (j->connecting) {
+		if (s->connecting) {
 			/* new-status */
 			s->status = EKG_STATUS_AVAIL;
 			/* connected */
-			j->connecting = 0;
 			protocol_connected_emit(s);
 		}
 



Więcej informacji o liście dyskusyjnej ekg2-commit