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.82,1.83


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.82,1.83
Date: Fri, 21 Mar 2003 20:50:19 -0500

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

Modified Files:
        msn.C 
Log Message:
fix segfaults


Index: msn.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/msn.C,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- msn.C       21 Mar 2003 20:13:35 -0000      1.82
+++ msn.C       22 Mar 2003 01:50:13 -0000      1.83
@@ -558,7 +558,7 @@
 void eb_msn_filetrans_cancel(int tag)
 {
        transfer_window *w = eb_find_window_by_tag(tag);
-       if (w) {
+       if (w && w->inv) {
                eb_debug(DBG_MSN,"cancelling FTP transfer with %s\n", 
w->inv->other_user);
                msn_filetrans_cancel(w->inv);
        }
@@ -977,6 +977,9 @@
 
   inv = (invitation_ftp *) data;
 
+  if (inv->cancelled)
+         return;
+
   if(inv == NULL) {eb_debug(DBG_MSN, "inv==NULL\n");}
   else           {eb_debug(DBG_MSN, "inv!=NULL, inv->cookie = 
%s\n",inv->cookie);}
 
@@ -2143,7 +2146,7 @@
   char *local_account_name=NULL;
   eb_local_account *ela=NULL;
   eb_msn_local_account_data * mlad=NULL;
-
+  llist *list = NULL;
   eb_chat_room * ecr=eb_msn_get_chat_room(conn);
 
   if(ecr!=NULL)
@@ -2167,7 +2170,26 @@
     mlad->mc=NULL;
     eb_msn_logout(ela);              
     ext_disable_conncheck();
-
+  }
+  
+  list = conn->invitations_out;
+  while (list) {
+         invitation *inv = (invitation *)list->data;
+         if(inv->app == APP_FTP) {
+               invitation_ftp *iftp = (invitation_ftp *)inv;
+               ext_filetrans_failed(iftp,0,"Remote host disconnected");  
+         }  
+         list=list->next;
+  }
+  list = conn->invitations_in;
+  while (list) {
+         invitation *inv = (invitation *)list->data;
+         if(inv->app == APP_FTP) {
+               invitation_ftp *iftp = (invitation_ftp *)inv;
+               iftp->cancelled=1;
+               ext_filetrans_failed(iftp,0,"Remote host disconnected");  
+         }  
+         list=list->next;
   }
   eb_debug(DBG_MSN, "Closed connection with socket %d\n", conn->sock);
 }





reply via email to

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