diff options
| -rw-r--r-- | protocols/yahoo/libyahoo2.c | 11 | ||||
| -rw-r--r-- | protocols/yahoo/yahoo.c | 4 | 
2 files changed, 4 insertions, 11 deletions
| diff --git a/protocols/yahoo/libyahoo2.c b/protocols/yahoo/libyahoo2.c index 80d88a85..897ba27b 100644 --- a/protocols/yahoo/libyahoo2.c +++ b/protocols/yahoo/libyahoo2.c @@ -380,7 +380,6 @@ static void del_from_list(struct yahoo_data *yd)  }  /* call repeatedly to get the next one */ -/*  static struct yahoo_input_data * find_input_by_id(int id)  {  	YList *l; @@ -391,7 +390,6 @@ static struct yahoo_input_data * find_input_by_id(int id)  	}  	return NULL;  } -*/  static struct yahoo_input_data * find_input_by_id_and_webcam_user(int id, const char * who)  { @@ -796,6 +794,7 @@ static int yahoo_send_data(int fd, void *data, int len)  void yahoo_close(int id)   {  	struct yahoo_data *yd = find_conn_by_id(id); +	  	if(!yd)  		return; @@ -3165,7 +3164,7 @@ int yahoo_write_ready(int id, int fd, void *data)  	struct data_queue *tx;  	LOG(("write callback: id=%d fd=%d data=%p", id, fd, data)); -	if(!yid || !yid->txqueues) +	if(!yid || !yid->txqueues || !find_conn_by_id(id))  		return -2;  	tx = yid->txqueues->data; @@ -3841,11 +3840,9 @@ void yahoo_logoff(int id)  		}  	} -	 -/*	do { +	do {  		yahoo_input_close(yid); -	} while((yid = find_input_by_id(id)));*/ -	 +	} while((yid = find_input_by_id(id)));  }  void yahoo_get_list(int id) diff --git a/protocols/yahoo/yahoo.c b/protocols/yahoo/yahoo.c index ab30df4d..c84685e9 100644 --- a/protocols/yahoo/yahoo.c +++ b/protocols/yahoo/yahoo.c @@ -453,10 +453,6 @@ gboolean byahoo_write_ready_callback( gpointer data, gint source, b_input_condit  {  	struct byahoo_write_ready_data *d = data; -	if( !byahoo_get_ic_by_id( d->id ) ) -		/* WTF doesn't libyahoo clean this up? */ -		return FALSE; -	  	yahoo_write_ready( d->id, d->fd, d->data );  	return FALSE; | 
