diff options
Diffstat (limited to 'query.c')
| -rw-r--r-- | query.c | 19 | 
1 files changed, 15 insertions, 4 deletions
| @@ -101,6 +101,9 @@ void query_del_by_conn( irc_t *irc, struct im_connection *ic )  	query_t *q, *n, *def;  	int count = 0; +	if(!ic) +		return; +	  	q = irc->queries;  	def = query_default( irc ); @@ -139,13 +142,21 @@ void query_answer( irc_t *irc, query_t *q, int ans )  	}  	if( ans )  	{ -		imcb_log( q->ic, "Accepted: %s", q->question ); -		q->yes( NULL, q->data ); +		if(q->ic) +			imcb_log( q->ic, "Accepted: %s", q->question ); +		else +			irc_usermsg( irc, "Accepted: %s", q->question ); +		if(q->yes) +			q->yes( q->ic ? (gpointer)q->ic : (gpointer)irc, q->data );  	}  	else  	{ -		imcb_log( q->ic, "Rejected: %s", q->question ); -		q->no( NULL, q->data ); +		if(q->ic) +			imcb_log( q->ic, "Rejected: %s", q->question ); +		else +			irc_usermsg( irc, "Rejected: %s", q->question ); +		if(q->no) +			q->no( q->ic ? (gpointer)q->ic : (gpointer)irc, q->data );  	}  	q->data = NULL; | 
