ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.93,1.94


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.93,1.94
Date: Wed, 26 Mar 2003 11:18:52 -0500

Update of /cvsroot/ayttm/ayttm/modules/msn2
In directory subversions:/tmp/cvs-serv28888/modules/msn2

Modified Files:
        msn.C 
Log Message:
fix msn socks 
crossing fingers


Index: msn.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/msn.C,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -r1.93 -r1.94
--- msn.C       26 Mar 2003 13:17:58 -0000      1.93
+++ msn.C       26 Mar 2003 16:18:50 -0000      1.94
@@ -680,7 +680,7 @@
 {
     llist * list;
 
-    list=connections;
+    list=msnconnections;
 
     if (!iGetLocalPref("do_send_typing_notify"))
        return 4;
@@ -762,7 +762,7 @@
 
         llist * list;
 
-        list=connections;
+        list=msnconnections;
 
         while(1)
         {
@@ -1057,7 +1057,7 @@
 void ext_filetrans_failed(invitation_ftp * inv, int err, char * msg)
 {
        char buf[1024];
-        snprintf(buf, sizeof(buf), "File transfer failed: %s\n\n(The file 
sender must have a public IP, and his firewall must allow TCP connections to 
port 6891.)", msg);
+        snprintf(buf, sizeof(buf), "File transfer failed: %s\n\n(The file 
sender must have a public IP, and his firewall must allow TCP msnconnections to 
port 6891.)", msg);
         do_error_dialog(buf, "Transfer failed");
        transfer_window * t_win = eb_find_window_by_inv(inv);
        if (t_win) {
@@ -1577,7 +1577,37 @@
         {
           msn_handle_close(source);
         } else {
-         msn_handle_incoming(source, condition & EB_INPUT_READ, condition & 
EB_INPUT_WRITE);
+         int nargs;
+         char ** args = NULL;
+         llist * list;
+         list=msnconnections;
+         msnconn *conn;
+         
+         if(list==NULL) { return; }
+
+         while(1)
+         {
+           conn=(msnconn *)list->data;
+           if(conn->sock==source)
+           { break; }
+           list=list->next;
+           if(list==NULL)
+           { 
+               return; } // not for us
+         }
+
+         if (conn == NULL) return;
+
+         if (conn->type != CONN_FTP) {
+                 args = msn_read_line(conn, &nargs);
+                 if (args == NULL && nargs==0 && conn->type != CONN_FTP) {
+                         return; /* not yet */
+                 }
+                 /* if args == NULL && nargs==-1 msn_handle_incoming will fail 
*/ 
+                msn_handle_incoming(conn, condition & EB_INPUT_READ, condition 
& EB_INPUT_WRITE,
+                         args, nargs);
+        } else
+                 msn_handle_filetrans_incoming(conn, condition & 
EB_INPUT_READ, condition & EB_INPUT_WRITE);
         }
 }
 
@@ -2514,7 +2544,7 @@
 
         llist * list;
 
-        list=connections;
+        list=msnconnections;
 
         while(1)
         {





reply via email to

[Prev in Thread] Current Thread [Next in Thread]