亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? handle_irc.c

?? 打魔獸戰網的都知道他是什么
?? C
?? 第 1 頁 / 共 4 頁
字號:
            							eventlog(eventlog_level_warn,__FUNCTION__,"LISTREPLY length exceeded");						}					}					irc_send(conn,RPL_GAME_CHANNEL,temp);				}			}		}	        	irc_send(conn,RPL_LISTEND,":End of LIST command");    	return 0;	}	if (numparams==0) { 	    t_elem const * curr; 	       	    LIST_TRAVERSE_CONST(channellist(),curr) 			{    	    t_channel const * channel = elem_get_data(curr);	        char const * tempname;			char * topic = channel_get_topic(channel_get_name(channel));	        tempname = irc_convert_channel(channel);			/* FIXME: AARON: only list channels like in /channels command */			if (topic) {	        	if (strlen(tempname)+1+20+1+1+strlen(topic)<MAX_IRC_MESSAGE_LEN)		    		sprintf(temp,"%s %u :%s",tempname,channel_get_length(channel),topic);	        	else	            	eventlog(eventlog_level_warn,__FUNCTION__,"LISTREPLY length exceeded");			}			else {	        	if (strlen(tempname)+1+20+1+1<MAX_IRC_MESSAGE_LEN)		    		sprintf(temp,"%s %u :",tempname,channel_get_length(channel));	        		else	            			eventlog(eventlog_level_warn,__FUNCTION__,"LISTREPLY length exceeded");			}	        	irc_send(conn,RPL_LIST,temp);    	}    }	else if (numparams>=1) {        int i;        char ** e; 	e = irc_get_listelems(params[0]);		/* FIXME: support wildcards! */		for (i=0;((e)&&(e[i]));i++) {		t_channel const * channel;		char const * verytemp; /* another good example for creative naming conventions :) */	       	char const * tempname;		char * topic;				verytemp = irc_convert_ircname(e[i]);		if (!verytemp)			continue; /* something is wrong with the name ... */		channel = channellist_find_channel_by_name(verytemp,NULL,NULL);		if (!channel)			continue; /* channel doesn't exist */						topic = channel_get_topic(channel_get_name(channel));	       	tempname = irc_convert_channel(channel);					if (topic) {	       		if (strlen(tempname)+1+20+1+1+strlen(topic)<MAX_IRC_MESSAGE_LEN)	    			sprintf(temp,"%s %u :%s",tempname,channel_get_length(channel),topic);	       		else	       			eventlog(eventlog_level_warn,__FUNCTION__,"LISTREPLY length exceeded");		}			else {	       		if (strlen(tempname)+1+20+1+1<MAX_IRC_MESSAGE_LEN)	    			sprintf(temp,"%s %u :",tempname,channel_get_length(channel));	       		else	       			eventlog(eventlog_level_warn,__FUNCTION__,"LISTREPLY length exceeded");		}	       	irc_send(conn,RPL_LIST,temp);	}        if (e)		irc_unget_listelems(e);    }    irc_send(conn,RPL_LISTEND,":End of LIST command");	return 0;}static int _handle_topic_command(t_connection * conn, int numparams, char ** params, char * text){	char ** e = NULL;		if((conn_get_wol(conn) == 1)) {	    t_channel * channel = conn_get_channel(conn);	    channel_set_topic(channel_get_name(channel),text,NO_SAVE_TOPIC);	}	if (params!=NULL) e = irc_get_listelems(params[0]);	if ((e)&&(e[0])) {		t_channel *channel = conn_get_channel(conn);				if (channel) {				char * topic;			char temp[MAX_IRC_MESSAGE_LEN];			char const * ircname = irc_convert_ircname(e[0]);			if ((ircname) && (strcasecmp(channel_get_name(channel),ircname)==0)) {				if ((topic = channel_get_topic(channel_get_name(channel)))) { 			  		sprintf(temp,"%s :%s",ircname,topic);			    		irc_send(conn,RPL_TOPIC,temp);				}				else			    		irc_send(conn,RPL_NOTOPIC,":No topic is set");			}			else				irc_send(conn,ERR_NOTONCHANNEL,":You are not on that channel");		}		else {			irc_send(conn,ERR_NOTONCHANNEL,":You're not on a channel");		}		irc_unget_listelems(e);	}	else		irc_send(conn,ERR_NEEDMOREPARAMS,":too few arguments to TOPIC");	return 0;}static int _handle_join_command(t_connection * conn, int numparams, char ** params, char * text){	if (numparams>=1) {	    char ** e;	    e = irc_get_listelems(params[0]);	    if ((e)&&(e[0])) {	    		char const * ircname = irc_convert_ircname(e[0]);	    		char * old_channel_name = NULL;	   	 	t_channel * old_channel = conn_get_channel(conn);			if (old_channel)			  old_channel_name = xstrdup(irc_convert_channel(old_channel));						if ((!(ircname)) || (conn_set_channel(conn,ircname)<0)) {				irc_send(conn,ERR_NOSUCHCHANNEL,":JOIN failed"); /* FIXME: be more precise; what is the real error code for that? */			} 			else {    			char temp[MAX_IRC_MESSAGE_LEN];				t_channel * channel;				channel = conn_get_channel(conn);			    if ((conn_get_wol(conn) == 1)) {					channel_set_userflags(conn);					message_send_text(conn,message_type_join,conn,NULL); /* we have to send the JOIN acknowledgement */					ircname=irc_convert_channel(channel);	    				irc_send_rpl_namreply(conn,channel);					if ((strlen(ircname)+1+strlen(":End of NAMES list")+1)<MAX_IRC_MESSAGE_LEN) {						sprintf(temp,"%s :End of NAMES list",ircname);						irc_send(conn,RPL_ENDOFNAMES,temp);					}			    }			    else {			    					if (channel!=old_channel) {					char * topic;					channel_set_userflags(conn);					message_send_text(conn,message_type_join,conn,NULL); /* we have to send the JOIN acknowledgement */					ircname=irc_convert_channel(channel);						if ((topic = channel_get_topic(channel_get_name(channel)))) {							if ((strlen(ircname)+1+1+strlen(topic)+1)<MAX_IRC_MESSAGE_LEN) {							sprintf(temp,"%s :%s",ircname,topic);							irc_send(conn,RPL_TOPIC,temp);						}							if ((strlen(ircname)+1+strlen("FIXME 0")+1)<MAX_IRC_MESSAGE_LEN) {							sprintf(temp,"%s FIXME 0",ircname);							irc_send(conn,RPL_TOPICWHOTIME,temp); /* FIXME: this in an undernet extension but other servers support it too */						}					}					else						irc_send(conn,RPL_NOTOPIC,":No topic is set");					irc_send_rpl_namreply(conn,channel);					irc_send(conn,RPL_ENDOFNAMES,":End of NAMES list");						if (old_channel_name) {						irc_send_cmd2(conn,conn_get_loggeduser(conn),"PART",old_channel_name,"only one channel at once");					}		    		}			}			}			if (old_channel_name) xfree((void *)old_channel_name);		}    		if (e)			irc_unget_listelems(e);	} 	else 	    irc_send(conn,ERR_NEEDMOREPARAMS,":Too few arguments to JOIN");	return 0;}static int _handle_names_command(t_connection * conn, int numparams, char ** params, char * text){	t_channel * channel;          if (numparams>=1) {		char ** e;		char const * ircname;		char const * verytemp;		char temp[MAX_IRC_MESSAGE_LEN];		int i;		e = irc_get_listelems(params[0]);		for (i=0;((e)&&(e[i]));i++) {						verytemp = irc_convert_ircname(e[i]);						if (!verytemp)				continue; /* something is wrong with the name ... */			channel = channellist_find_channel_by_name(verytemp,NULL,NULL);			if (!channel)				continue; /* channel doesn't exist */			irc_send_rpl_namreply(conn,channel);			ircname=irc_convert_channel(channel);			if ((strlen(ircname)+1+strlen(":End of NAMES list")+1)<MAX_IRC_MESSAGE_LEN) {				sprintf(temp,"%s :End of NAMES list",ircname);				irc_send(conn,RPL_ENDOFNAMES,temp);			} 			else 				irc_send(conn,RPL_ENDOFNAMES,":End of NAMES list");		}		if (e)		irc_unget_listelems(e);    } 	else if (numparams==0) {		t_elem const * curr;		LIST_TRAVERSE_CONST(channellist(),curr) 		{			channel = elem_get_data(curr);			irc_send_rpl_namreply(conn,channel);		}		irc_send(conn,RPL_ENDOFNAMES,"* :End of NAMES list");		    }	return 0;}static int _handle_mode_command(t_connection * conn, int numparams, char ** params, char * text){	/* FIXME: Not yet implemented */	return 0;}static int _handle_userhost_command(t_connection * conn, int numparams, char ** params, char * text){	/* FIXME: Send RPL_USERHOST */	return 0;}static int _handle_quit_command(t_connection * conn, int numparams, char ** params, char * text){	conn_set_channel(conn, NULL);	conn_set_state(conn, conn_state_destroy);	return 0;}static int _handle_ison_command(t_connection * conn, int numparams, char ** params, char * text){	char temp[MAX_IRC_MESSAGE_LEN];	char first = 1;		if (numparams>=1) {	    int i;	    temp[0]='\0';	    for (i=0; (i<numparams && (params) && (params[i]));i++) {    	  if (connlist_find_connection_by_accountname(params[i])) {		    if (first)		        strcat(temp,":");		    else 		        strcat(temp," ");		    strcat(temp,params[i]);		    first = 0;		  }	    }	    irc_send(conn,RPL_ISON,temp);	} 	else 	    irc_send(conn,ERR_NEEDMOREPARAMS,":Too few arguments to ISON");	return 0;}static int _handle_whois_command(t_connection * conn, int numparams, char ** params, char * text){	char temp[MAX_IRC_MESSAGE_LEN];	char temp2[MAX_IRC_MESSAGE_LEN];	if (numparams>=1) {	    int i;	    char ** e;	    t_connection * c;	    t_channel * chan;	    temp[0]='\0';	    temp2[0]='\0';	    e = irc_get_listelems(params[0]);	    for (i=0; ((e)&&(e[i]));i++) {    	  if ((c = connlist_find_connection_by_accountname(e[i]))) {		    if (prefs_get_hide_addr() && !(account_get_command_groups(conn_get_account(conn)) & command_get_group("/admin-addr")))		      sprintf(temp,"%s %s hidden * :%s",e[i],clienttag_uint_to_str(conn_get_clienttag(c)),"PvPGN user");		    else		      sprintf(temp,"%s %s %s * :%s",e[i],clienttag_uint_to_str(conn_get_clienttag(c)),addr_num_to_ip_str(conn_get_addr(c)),"PvPGN user");		    irc_send(conn,RPL_WHOISUSER,temp);		    		    if ((chan=conn_get_channel(conn))) {			char flg;			unsigned int flags;						flags = conn_get_flags(c);				            	if (flags & MF_BLIZZARD)		            flg='@';	            	else if ((flags & MF_BNET) || (flags & MF_GAVEL))		            flg='%'; 	            	else if (flags & MF_VOICE)		            flg='+';		        else flg = ' ';			sprintf(temp2,"%s :%c%s",e[i],flg,irc_convert_channel(chan));			irc_send(conn,RPL_WHOISCHANNELS,temp2);		    }		    		  }		  else		    irc_send(conn,ERR_NOSUCHNICK,":No such nick/channel");		  	    }	    irc_send(conn,RPL_ENDOFWHOIS,":End of /WHOIS list");        if (e)			irc_unget_listelems(e);	} 	else 	    irc_send(conn,ERR_NEEDMOREPARAMS,":Too few arguments to WHOIS");	return 0;}static int _handle_part_command(t_connection * conn, int numparams, char ** params, char * text){    if ((conn_get_wol(conn) == 1))		if ((conn_wol_get_ingame(conn) == 1))			conn_wol_set_ingame(conn,0);    message_send_text(conn,message_type_part,conn,NULL);    return 0;}    /***  Westwood Online Extensions*/static int _handle_cvers_command(t_connection * conn, int numparams, char ** params, char * text){	// Ignore command	return 0;}static int _handle_verchk_command(t_connection * conn, int numparams, char ** params, char * text){	// Ignore command	return 0; }static int _handle_lobcount_command(t_connection * conn, int numparams, char ** params, char * text){    // Ignore command but, return 1		irc_send(conn,RPL_LOBCOUNT,"1");	return 0;}static int _handle_whereto_command(t_connection * conn, int numparams, char ** params, char * text){	// Ignore command, but output proper server information...	char temp[MAX_IRC_MESSAGE_LEN];	// Casted to avoid warnings	const char * ircip = addr_num_to_ip_str(conn_get_real_local_addr(conn));	const char * ircname = prefs_get_servername();	const char * irctimezone = prefs_get_wol_timezone();	const char * irclong = prefs_get_wol_longitude();	const char * irclat = prefs_get_wol_latitude();	sprintf(temp,":%s %d '0:%s' %s %s %s",ircip,BNETD_WOL_PORT,ircname,irctimezone,irclong,irclat);	irc_send(conn,RPL_IRCSERV,temp);	sprintf(temp,":%s %d 'Live chat server' %s %s %s",ircip,BNETD_IRC_PORT,irctimezone,irclong,irclat);	irc_send(conn,RPL_IRCSERV,temp);	sprintf(temp,":%s %d 'Gameres server' %s %s %s",ircip,BNETD_WOL_PORT,irctimezone,irclong,irclat);	irc_send(conn,RPL_GAMERESSERV,temp);	sprintf(temp,":%s %d 'Ladder server' %s %s %s",ircip,BNETD_WOL_PORT,irctimezone,irclong,irclat);	irc_send(conn,RPL_LADDERSERV,temp);	irc_send(conn,RPL_ENDSERVLIST,"");	return 0;}static int _handle_apgar_command(t_connection * conn, int numparams, char ** params, char * text){	char * apgar = NULL;		if((numparams>=1)&&params[0]) {	    apgar = params[0];	    conn_wol_set_apgar(conn,apgar);	}		return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
777色狠狠一区二区三区| 一卡二卡欧美日韩| 亚洲精品一区在线观看| 制服.丝袜.亚洲.中文.综合| 欧美日韩国产一二三| 欧美在线观看禁18| 欧美日韩一区三区| 欧美在线免费播放| 91.成人天堂一区| 日韩视频中午一区| 亚洲精品在线观看视频| 久久婷婷色综合| 久久一留热品黄| 中文字幕精品一区二区三区精品| 国产精品午夜久久| 亚洲欧洲日产国码二区| 亚洲精品国产成人久久av盗摄| 亚洲三级久久久| 一区二区三区在线不卡| 亚洲动漫第一页| 日韩和欧美的一区| 久久成人麻豆午夜电影| 国产乱理伦片在线观看夜一区 | www.欧美色图| 99视频精品在线| 欧洲视频一区二区| 8v天堂国产在线一区二区| 精品免费国产二区三区 | 麻豆国产欧美日韩综合精品二区| 麻豆精品国产91久久久久久| 激情六月婷婷综合| 成人免费毛片aaaaa**| 一本色道久久综合亚洲精品按摩| 欧美日韩一区二区三区在线看| 在线综合视频播放| 精品国产乱码久久久久久牛牛| 国产人成亚洲第一网站在线播放| 亚洲天堂2016| 蜜臀av国产精品久久久久| 国产精品99久久久久久有的能看 | 精品国产乱码久久久久久牛牛| 欧美激情在线免费观看| 亚洲国产综合色| 激情文学综合网| 97久久精品人人做人人爽50路 | 一区二区三区加勒比av| 日本伊人色综合网| 高清在线成人网| 欧美色手机在线观看| 精品电影一区二区三区| 亚洲色图欧美在线| 久久9热精品视频| 91在线精品一区二区三区| 91精品国产品国语在线不卡| 国产精品高清亚洲| 青娱乐精品视频在线| 99国产精品视频免费观看| 欧美一区日韩一区| 综合av第一页| 激情文学综合丁香| 欧美精品自拍偷拍动漫精品| 欧美国产日韩在线观看| 日本中文一区二区三区| 色天使色偷偷av一区二区| 精品国产成人在线影院| 亚洲一区二区美女| 懂色av一区二区夜夜嗨| 日韩欧美中文字幕精品| 亚洲激情自拍偷拍| 丁香婷婷综合色啪| 日韩午夜激情视频| 亚洲妇女屁股眼交7| 不卡av免费在线观看| 久久只精品国产| 日本欧美加勒比视频| 91黄视频在线| 国产精品久久久久久久久久久免费看 | 在线播放欧美女士性生活| 国产精品美女www爽爽爽| 久久99精品视频| 欧美人妇做爰xxxⅹ性高电影| 国产精品系列在线| 国产一区福利在线| 欧美电视剧免费观看| 婷婷久久综合九色综合伊人色| 99re热视频这里只精品| 中文字幕中文在线不卡住| 国产激情91久久精品导航| 欧美v日韩v国产v| 日韩成人午夜电影| 欧美久久高跟鞋激| 午夜在线成人av| 欧美性极品少妇| 亚洲综合小说图片| 欧美综合在线视频| 一区二区三区日本| 99re热视频这里只精品| 综合欧美一区二区三区| 99久久精品免费看国产免费软件| 久久久精品中文字幕麻豆发布| 久久精品国产精品亚洲综合| 日韩欧美国产麻豆| 麻豆精品一区二区三区| 日韩三级.com| 精品在线观看视频| 欧美精品一区二区三区久久久| 麻豆精品视频在线观看免费| 日韩午夜激情av| 激情久久久久久久久久久久久久久久| 4hu四虎永久在线影院成人| 丝袜美腿亚洲色图| 91 com成人网| 久久精品国产亚洲5555| 久久久精品黄色| 成人综合在线视频| 中文字幕在线观看一区| 91日韩在线专区| 一区二区三区视频在线看| 欧美日韩国产a| 另类小说视频一区二区| www日韩大片| 成人综合日日夜夜| 亚洲欧美另类在线| 精品污污网站免费看| 日本午夜精品一区二区三区电影| 欧美一区二区视频观看视频 | 91国偷自产一区二区三区观看| 一区二区日韩av| 337p亚洲精品色噜噜噜| 久久99久久久久久久久久久| 久久久久国产一区二区三区四区| 成人av在线资源| 亚洲国产视频a| 日韩一级片网站| 国产91精品精华液一区二区三区| 中文字幕在线一区免费| 欧美日韩一区在线观看| 国产一区在线视频| 日韩毛片一二三区| 8x8x8国产精品| 国产91精品入口| 亚洲国产婷婷综合在线精品| 日韩欧美久久一区| 懂色av中文字幕一区二区三区 | 精品一区二区三区香蕉蜜桃| 国产欧美精品一区| 欧美午夜精品一区二区蜜桃| 麻豆视频观看网址久久| 国产精品国产三级国产aⅴ原创 | 欧美日韩一级黄| 激情综合色播激情啊| 亚洲精品日韩综合观看成人91| 91精品蜜臀在线一区尤物| 国产福利一区二区| 亚洲成av人片在线观看| 国产日本一区二区| 欧美日韩国产电影| 成人h动漫精品| 蜜臀av一区二区三区| **性色生活片久久毛片| 欧美肥大bbwbbw高潮| 波多野洁衣一区| 美国三级日本三级久久99| 亚洲免费观看高清完整| 精品国产一区二区三区不卡 | 亚洲精品在线观看网站| 欧美日韩一级视频| 97久久精品人人爽人人爽蜜臀| 日本成人在线视频网站| 亚洲欧美另类久久久精品2019| 精品国产免费一区二区三区香蕉| 欧美视频在线观看一区| 成人精品在线视频观看| 麻豆一区二区在线| 亚洲成人激情av| 中文字幕综合网| 国产欧美日韩一区二区三区在线观看| 欧美美女一区二区在线观看| 不卡av在线免费观看| 国产一区高清在线| 免费成人av资源网| 亚洲二区在线观看| 亚洲免费观看高清完整版在线观看| 久久久久久久久久久久久夜| 日韩欧美国产三级电影视频| 欧美日韩一区二区三区四区五区| 成人avav在线| 国产成人福利片| 激情六月婷婷久久| 捆绑调教美女网站视频一区| 性欧美大战久久久久久久久| 亚洲欧美一区二区三区极速播放 | 中文字幕巨乱亚洲| 久久美女高清视频| 精品久久久久久久久久久久包黑料| 欧美美女视频在线观看| 在线精品视频一区二区| 白白色 亚洲乱淫| 成人免费观看视频| 成人福利视频在线看|