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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? handle_irc.c

?? 打魔獸戰(zhàn)網(wǎng)的都知道他是什么
?? C
?? 第 1 頁 / 共 4 頁
字號:
static int _handle_serial_command(t_connection * conn, int numparams, char ** params, char * text){    // Ignore command	return 0;}static int _handle_squadinfo_command(t_connection * conn, int numparams, char ** params, char * text){	// FIXME: Not implemented	return 0;}	    static int _handle_setopt_command(t_connection * conn, int numparams, char ** params, char * text){	// Ignore this command	return 0;}	    static int _handle_setcodepage_command(t_connection * conn, int numparams, char ** params, char * text){	char * codepage = NULL;		if((numparams>=1)&&params[0]) {	    codepage = params[0];	    conn_wol_set_codepage(conn,atoi(codepage));	}	irc_send(conn,RPL_SET_CODEPAGE,codepage);	return 0;}static int _handle_setlocale_command(t_connection * conn, int numparams, char ** params, char * text){	char * locale = NULL;		if((numparams>=1)&&params[0]) {	    locale = params[0];	    conn_wol_set_locale(conn,atoi(locale));	}	irc_send(conn,RPL_SET_LOCALE,locale);		return 0;}	    static int _handle_getcodepage_command(t_connection * conn, int numparams, char ** params, char * text){	char temp[MAX_IRC_MESSAGE_LEN];	char _temp[MAX_IRC_MESSAGE_LEN];		memset(temp,0,sizeof(temp));	memset(_temp,0,sizeof(_temp));	if((numparams>=1)) {	    int i;	    for (i=0; i<numparams; i++) {    		t_connection * user;            int codepage;    		char const * name;    		    		if((user = connlist_find_connection_by_accountname(params[i]))) {    		    codepage = conn_wol_get_codepage(user);    		    name = conn_get_chatname(user);        		    sprintf(_temp,"%s`%u",name,codepage);    		    strcat(temp,_temp);    		    if(i < numparams-1)    			     strcat(temp,"`");    		}	    }   	    irc_send(conn,RPL_GET_CODEPAGE,temp);		}	return 0;}static int _handle_getlocale_command(t_connection * conn, int numparams, char ** params, char * text){	char temp[MAX_IRC_MESSAGE_LEN];	char _temp[MAX_IRC_MESSAGE_LEN];		memset(temp,0,sizeof(temp));	memset(_temp,0,sizeof(_temp));	if((numparams>=1)) {	    int i;	    for (i=0; i<numparams; i++) {    		t_connection * user;    		int locale;    		char const * name;    		    		if((user = connlist_find_connection_by_accountname(params[i]))) {    		    locale = conn_wol_get_locale(user);    		    name = conn_get_chatname(user);        		    sprintf(_temp,"%s`%u",name,locale);    		    strcat(temp,_temp);    		    if(i < numparams-1)           			strcat(temp,"`");    		}	    }   	    irc_send(conn,RPL_GET_LOCALE,temp);		}	return 0;}	    static int _handle_joingame_command(t_connection * conn, int numparams, char ** params, char * text){	char _temp[MAX_IRC_MESSAGE_LEN];		memset(_temp,0,sizeof(_temp));	/**	*  Basically this has 2 modes, Join Game and Create Game output is pretty much	*  the same...input and output of JOINGAME is listed below. By the way, there is a	*  hack in here, for Red Alert 1, it use's JOINGAME for some reason to join a lobby channel.	*   	*   Here is the input expected:	*   JOINGAME #user's_game unknown numberOfPlayers gameType unknown unknown gameIsTournament unknown password	*	*   Heres the output expected:	*   user!WWOL@hostname JOINGAME unknown numberOfPlayers gameType unknown clanID longIP gameIsTournament :#game_channel_name	*/	if((numparams==2)) {	    char ** e;	    eventlog(eventlog_level_debug,__FUNCTION__,"[** WOL **] JOINGAME: * Join * (%s, %s)",		     params[0],params[1]);	    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,":JOINGAME failed");			} 			else {				t_channel * channel;				char const * gameOptions;				int gameType;				conn_wol_set_ingame(conn,1);				channel = conn_get_channel(conn);				gameOptions = channel_wol_get_game_options(channel);				gameType = channel_wol_get_game_type(channel);								if (gameType == conn_wol_get_game_type(conn)) {				    eventlog(eventlog_level_debug,__FUNCTION__,"[** WOL **] JOINGAME [Game Options] (%s) [Game Type] (%u) [Game Owner] (%s)",gameOptions,gameType,channel_wol_get_game_owner(channel));								    if (channel!=old_channel) {		    			char temp[MAX_IRC_MESSAGE_LEN];        					channel_set_userflags(conn);    					message_send_text(conn,message_wol_joingame,conn,gameOptions); /* we have to send the JOINGAME 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 {				    irc_send(conn,ERR_NOSUCHCHANNEL,":JOINGAME failed");				}			}			if (old_channel_name) xfree((void *)old_channel_name);		}    		if (e)		    irc_unget_listelems(e);    	    return 0;	}	/**	* HACK: Check for 3 params, because in that case we must be running RA1	* then just forward to _handle_join_command	*/	else if((numparams==3)) {	    _handle_join_command(conn,numparams,params,text);	}	else if((numparams>=8)) {	    char ** e;	    eventlog(eventlog_level_debug,__FUNCTION__,"[** WOL **] JOINGAME: * Create * (%s, %s)",		     params[0],params[1]);		     	    sprintf(_temp,"%s %s %s %s 0 %u %s :%s",params[1],params[2],params[3],params[4],conn_get_addr(conn),params[6],params[0]);	    eventlog(eventlog_level_debug,__FUNCTION__,"[** WOL **] JOINGAME [Game Options] (%s)",_temp);	    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,":JOINGAME failed"); /* FIXME: be more precise; what is the real error code for that? */			} 			else {				t_channel * channel;				channel = conn_get_channel(conn);				if (channel!=old_channel) {	    			char temp[MAX_IRC_MESSAGE_LEN];					char * topic;					channel_set_userflags(conn);					channel_wol_set_game_options(channel,_temp);					channel_wol_set_game_owner(channel,conn_get_chatname(conn));					channel_wol_set_game_ownerip(channel,conn_get_addr(conn));					channel_wol_set_game_type(channel,conn_wol_get_game_type(conn));					channel_wol_set_game_tournament(channel,atoi(params[6]));										message_send_text(conn,message_wol_joingame,conn,_temp); /* we have to send the JOINGAME 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);						}					}	    			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);					}	    		}			}			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 JOINGAME");	return 0;}	    static int _handle_gameopt_command(t_connection * conn, int numparams, char ** params, char * text){	char temp[MAX_IRC_MESSAGE_LEN]; 	/** 	*  Basically this has 2 modes, Game Owner Change and Game Joinee Change what the output 	*  on this does is pretty much unknown, we just dump this to the client to deal with... 	*    	*	Heres the output expected (from game owner): 	*	user!WWOL@hostname GAMEOPT #game_channel_name :gameOptions 	*    	*	Heres the output expected (from game joinee): 	*	user!WWOL@hostname GAMEOPT game_owner_name :gameOptions 	*/	if ((numparams>=1)&&(text)) {	    int i;	    char ** e;		    e = irc_get_listelems(params[0]);	    /* FIXME: support wildcards! */			    eventlog(eventlog_level_debug,__FUNCTION__,"[** WOL **] GAMEOPT: (%s :%s)",params[0],text);	    conn_wol_set_game_options(conn,text);	    	    for (i=0;((e)&&(e[i]));i++) {    		if (e[i][0]=='#') {    		    /* game owner change */    		    t_channel * channel;        		    if ((channel = channellist_find_channel_by_name(irc_convert_ircname(params[0]),NULL,NULL))) {        			sprintf(temp,":%s",text);        			channel_message_send(channel,message_wol_gameopt_owner,conn,temp);    		    }    		    else {        			irc_send(conn,ERR_NOSUCHCHANNEL,":No such channel");    		    }    		}     		else    		{    		    /* user change */    		    t_connection * user;        		    if ((user = connlist_find_connection_by_accountname(e[i]))) {        			sprintf(temp,":%s",text);        			message_send_text(user,message_wol_gameopt_join,conn,temp);    		    }    		    else {          			irc_send(conn,ERR_NOSUCHNICK,":No such user");    		    }    		}	    }	}	else	    irc_send(conn,ERR_NEEDMOREPARAMS,":Too few arguments to GAMEOPT");	return 0;}	    static int _handle_finduserex_command(t_connection * conn, int numparams, char ** params, char * text){	char _temp[MAX_IRC_MESSAGE_LEN];	char const * ircname = NULL;		memset(_temp,0,sizeof(_temp));	if ((numparams>=1)) {	    t_connection * user;	    	    if((user = connlist_find_connection_by_accountname(params[0]))) {     		ircname = irc_convert_channel(conn_get_channel(user));	    }	    	    sprintf(_temp,"0 :%s,0",ircname);	    irc_send(conn,RPL_FIND_USER_EX,_temp);    }	return 0;}static int _handle_page_command(t_connection * conn, int numparams, char ** params, char * text){	char _temp[MAX_IRC_MESSAGE_LEN];		memset(_temp,0,sizeof(_temp));	if ((numparams>=1)&&(text)) {	    t_connection * user;	    	    sprintf(_temp,":%s",text);	    if((user = connlist_find_connection_by_accountname(params[0]))) {     		message_send_text(user,message_wol_page,conn,_temp);	    }	}	return 0;}	   static int _handle_startg_command(t_connection * conn, int numparams, char ** params, char * text){	char temp[MAX_IRC_MESSAGE_LEN];	char _temp_a[MAX_IRC_MESSAGE_LEN];	t_channel * channel;	time_t now; 	/** 	*  Heres the output expected (this can have up-to 8 entries (ie 8 players):     *  (we are assuming for this example that user1 is the game owner)    * 	*   user1!WWOL@hostname STARTG u :user1 xxx.xxx.xxx.xxx user2 xxx.xxx.xxx.xxx :gameNumber cTime 	*/	if((numparams>=1)) {	    int i;	    char ** e;		    memset(temp,0,sizeof(temp));	    memset(_temp_a,0,sizeof(_temp_a));			    e = irc_get_listelems(params[1]);	    /* FIXME: support wildcards! */			    strcat(temp,":");	    for (i=0;((e)&&(e[i]));i++) {    		t_connection * user;    		const char * addr = NULL;    		    		if((user = connlist_find_connection_by_accountname(e[i]))) {    		    addr = addr_num_to_ip_str(conn_get_addr(user));    		}    		sprintf(_temp_a,"%s %s ",e[i],addr);    		strcat(temp,_temp_a);	    }	            strcat(temp,":");        strcat(temp,"1337"); /* yes, ha ha funny, i just don't generate game numbers yet */        strcat(temp," ");                now = time(NULL);        strcat(temp,ctime(&now));	    	    eventlog(eventlog_level_debug,__FUNCTION__,"[** WOL **] STARTG: (%s)",temp);	    if ((channel = channellist_find_channel_by_name(irc_convert_ircname(params[0]),NULL,NULL))) {     		channel_message_send(channel,message_wol_start_game,conn,temp);	    }	    else {     		irc_send(conn,ERR_NOSUCHCHANNEL,":No such channel");	    }	}	       	return 0;}	    static int _handle_listsearch_command(t_connection * conn, int numparams, char ** params, char * text){	// FIXME: Not implemented	return 0;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品午夜久久福利影院| 国产亚洲欧美在线| 精品少妇一区二区三区在线播放| 久久久777精品电影网影网 | 男男视频亚洲欧美| 国产伦精一区二区三区| 成人午夜视频福利| 欧美系列亚洲系列| 欧美成人性福生活免费看| 国产精品私房写真福利视频| 亚洲国产一区在线观看| 国产精品综合在线视频| 欧美亚洲综合另类| 久久一二三国产| 一区二区三区四区不卡视频| 久久av中文字幕片| 91在线观看美女| 日韩三级.com| 成人免费一区二区三区在线观看| 日韩电影在线一区二区| 成人h动漫精品一区二区| 91精品国产综合久久久久久| 中文字幕av一区二区三区免费看| 午夜精品123| 不卡区在线中文字幕| 91精品视频网| 亚洲人成网站精品片在线观看| 狠狠狠色丁香婷婷综合久久五月| 在线精品观看国产| 国产人妖乱国产精品人妖| 日日噜噜夜夜狠狠视频欧美人| 成人小视频免费观看| 欧美一级一区二区| 亚洲精品中文字幕在线观看| 国产传媒一区在线| 色琪琪一区二区三区亚洲区| 亚洲一区二区三区四区在线免费观看 | 成人a级免费电影| 日韩三级视频在线看| 一区二区三区不卡在线观看| 成人晚上爱看视频| 日韩精品一区二区三区在线播放| 一区二区三区高清在线| 成人性生交大合| 久久青草国产手机看片福利盒子 | 欧美日本在线观看| 亚洲色图视频免费播放| 国产一区二区按摩在线观看| 欧美高清激情brazzers| 亚洲欧美电影一区二区| 国产成人日日夜夜| 欧美一级xxx| 香蕉影视欧美成人| 色婷婷综合久色| 日本一二三不卡| 国产麻豆一精品一av一免费| 欧美一区二区免费视频| 亚洲福利电影网| 欧洲精品一区二区三区在线观看| 日韩一区在线看| 国产成人免费视频一区| 久久只精品国产| 精品一区二区免费视频| 日韩区在线观看| 蜜桃视频一区二区| 91精品国产91综合久久蜜臀| 亚洲一区二区三区不卡国产欧美 | 午夜精品免费在线观看| 欧洲亚洲国产日韩| 亚洲一区二区三区国产| 欧美午夜精品一区二区三区| 一区二区三区四区视频精品免费 | 国产成a人亚洲精| 久久女同精品一区二区| 紧缚捆绑精品一区二区| 欧美videossexotv100| 琪琪久久久久日韩精品| 欧美一区二区三区播放老司机| 日本欧洲一区二区| 欧美一级在线视频| 精品亚洲成a人| 久久久久久**毛片大全| 成人午夜私人影院| 亚洲天堂成人在线观看| 91精彩视频在线| 亚洲成人av一区二区三区| 欧美一区二区三区啪啪| 免费观看30秒视频久久| 精品久久久久久久人人人人传媒 | 国产精品系列在线| 不卡一区二区三区四区| 一级精品视频在线观看宜春院| 欧美系列一区二区| 麻豆精品国产91久久久久久| 久久久三级国产网站| yourporn久久国产精品| 亚洲黄色小说网站| 欧美日韩大陆一区二区| 麻豆成人久久精品二区三区红| 久久久国产一区二区三区四区小说 | 在线免费观看视频一区| 首页欧美精品中文字幕| 精品国产精品一区二区夜夜嗨| 国产麻豆视频一区二区| 亚洲乱码中文字幕| 4438x成人网最大色成网站| 国产一区二区三区不卡在线观看 | 91丨porny丨蝌蚪视频| 亚洲aaa精品| 久久久亚洲午夜电影| 91麻豆swag| 日本三级韩国三级欧美三级| 国产女主播视频一区二区| 在线观看中文字幕不卡| 精品一区二区三区影院在线午夜| 国产精品久久二区二区| 337p亚洲精品色噜噜| 国产成人福利片| 亚洲福利视频导航| 国产欧美一区二区三区在线看蜜臀| 色网综合在线观看| 狠狠色狠狠色综合系列| 一区二区三区精品视频| 久久综合色之久久综合| 91国偷自产一区二区三区观看| 激情久久久久久久久久久久久久久久| 中文字幕一区二区在线观看| 欧美伦理视频网站| 成人综合在线观看| 日韩精品1区2区3区| 亚洲欧洲国产专区| 日韩视频中午一区| 色狠狠一区二区| 国产一区二区三区高清播放| 性欧美大战久久久久久久久| 中文字幕精品一区二区三区精品| 欧美丰满美乳xxx高潮www| zzijzzij亚洲日本少妇熟睡| 麻豆国产欧美一区二区三区| 亚洲欧美在线高清| 精品免费日韩av| 欧美中文字幕一区| 成人av高清在线| 国产在线国偷精品产拍免费yy| 亚洲国产美国国产综合一区二区| 日本一区二区三区免费乱视频| 日韩视频国产视频| 欧美伊人精品成人久久综合97| 成人av高清在线| 国产精品1区2区| 精品中文字幕一区二区| 午夜免费欧美电影| 亚洲精品美腿丝袜| 国产精品久久久久婷婷二区次| 欧美va日韩va| 欧美精品久久天天躁| 日本福利一区二区| 91猫先生在线| 99精品欧美一区| 不卡欧美aaaaa| 盗摄精品av一区二区三区| 久久国产人妖系列| 日本女人一区二区三区| 午夜不卡av在线| 亚洲一区二区欧美激情| 亚洲资源中文字幕| 伊人婷婷欧美激情| 1024国产精品| 国产精品久久久爽爽爽麻豆色哟哟| 久久久久9999亚洲精品| 亚洲精品在线观看网站| 欧美一级理论片| 91精品国产品国语在线不卡| 91搞黄在线观看| 色偷偷成人一区二区三区91| 色婷婷综合久久| 91福利在线导航| 在线免费观看日本一区| 色av综合在线| 欧美午夜精品久久久久久超碰| 91久久久免费一区二区| 色婷婷久久综合| 欧美日韩综合在线免费观看| 精品视频全国免费看| 欧美精品欧美精品系列| 日韩一区二区三| 欧美成人video| 日韩三级.com| 久久久国际精品| 国产精品免费视频一区| 综合av第一页| 亚洲视频在线一区| 亚洲免费av高清| 亚洲高清不卡在线观看| 青青国产91久久久久久| 久久疯狂做爰流白浆xx| 国产精品一二一区| 成人av在线一区二区三区| 色哟哟欧美精品| 欧美在线啊v一区|