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

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

?? parserc.c

?? 使用TAP的蜂窩型GSM手機短消息服務中心
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* -------------------------------------------------------------------- *//* -------------------------------------------------------------------- */static char *strdup_number(char *str){	char 	*ptr,		*dst,		*number;		number = (char *)malloc(sizeof(char) * (sms_strlen(str) +1));	if (number == NULL)	{		lprintf(LOG_ERROR, "Allocating memory\n");		exit(EMALLOC);	}		dst = number;	ptr = str;	while(*ptr != '\0')	{		if (*ptr == ':')		{	dst = number;		}		else		{	*dst = *ptr;			dst++;				}					ptr++;	}	*dst = '\0';		return number;	}/* -------------------------------------------------------------------- *//* -------------------------------------------------------------------- */SMS_list *add_number(SMS_list *list, char *id, char *number, char *default_service){	char 	*mnumber,		*mservice;	mnumber  = strdup_number(number);	mservice = strdup_service(number);	if (strcmp(mservice, "") == 0)	{		if (mnumber[0] != '_')		{		list = add_item(list, id, default_service, mnumber);		}		else		{		list = add_item(list, id, default_service, &mnumber[1]);		}	}	else	{		if (mnumber[0] != '_')		{		list = add_item(list, id, mservice, mnumber);		}		else		{		list = add_item(list, id, default_service, &mnumber[1]);		}	}	free(mnumber);	free(mservice);	return list;}	/* -------------------------------------------------------------------- *//* -------------------------------------------------------------------- */static SMS_list *expandnumber(FILE *fp[2], char *id, char *str, char *default_service){	char 	*src,		*dst,	 	*number,		*value;		int 	len, num;	SMS_list		*list,		*sub_list;				if (str == NULL)	{	return NULL;	}		len = sms_strlen(str);			number = (char *)malloc(sizeof(char) * (len +1));	if (number == NULL)	{		lprintf(LOG_ERROR, "Allocating memory\n");		exit(EMALLOC);	}	list = NULL;	dst = number;	src = str;	num = 1;	while (*src != '\0')	{		if (*src == ',')		{			*dst = '\0';			if (is_name(number))			{				/* Expand number */				if (find_number(search_list, number) != NULL)				{					lprintf(LOG_WARNING, "Circular list detected\n");				}				else				{	search_list = add_item(search_list, "", "", number);						value = SMS_dual_get_smsrc_value(fp, number);					if (value != NULL)					{						sub_list = expandnumber(fp, number, value, default_service);						list     = insert_list(list, sub_list);					}					else					{	list = add_number(list, id, number, default_service);					}				}				}			else			{	list = add_number(list, id, number, default_service);			}			dst = number;			num++;		}		else		{	*dst = *src;			dst++;		}		src++;	}	*dst = '\0';	if (is_name(number))	{		/* Expand number */		if (find_number(search_list, number) != NULL)		{			lprintf(LOG_WARNING, "Circular list detected\n");		}		else		{	search_list = add_item(search_list, "", "", number);				value = SMS_dual_get_smsrc_value(fp, number);			if (value != NULL)			{				sub_list = expandnumber(fp, number, value, default_service);				list     = insert_list(list, sub_list);			}			else			{	list = add_number(list, id, number, default_service);			}		}		}	else	{	list = add_number(list, id, number, default_service);	}	free(number);		return list;}/* -------------------------------------------------------------------- *//* -------------------------------------------------------------------- */SMS_list *SMS_expandnumber(FILE *fp[2], char *id, char *number, char *default_service){	SMS_list		*list;			search_list = NULL;	list = expandnumber(fp, id, number, default_service);	free_list(search_list);	return list;}/* -------------------------------------------------------------------- *//* -------------------------------------------------------------------- */static void read_services(void){	char 	fname[1024],		dname[1024];	int	num,		i;	DIR 	*dp;	struct 	dirent 		*ep;	sms_strcpy(dname, SERVICEDIR);	sms_strcat(dname, "/services");	dp = opendir (dname);        if (dp == NULL)	{	lprintf(LOG_ERROR, "Opening Services directory %s\n", dname); 		exit(-1);	}	num = 0;	while ((ep = readdir(dp)))	{		if (ep->d_name[0] == '.')		{	continue;		}		num++;	}	SMS_services_list = (RESOURCE *)malloc(sizeof(RESOURCE) * (num +1));	if (SMS_services_list == NULL)	{	lprintf(LOG_ERROR, "Allocating memory for SMS_services_list\n");		exit(-1);	}	i = 0;	rewinddir(dp);	while ((ep = readdir(dp)))	{		if (ep->d_name[0] == '.')		{	continue;		}		SMS_services_list[i].type = RESOURCE_STRING;		SMS_services_list[i].name = malloc(sms_strlen("SMS_protocol_") + sms_strlen(ep->d_name) +1);		if (SMS_services_list[i].name == NULL)		{	lprintf(LOG_ERROR, "Allocating memory for SMS_services_list[%d].name\n", i);			exit(-1);		}		sms_strcpy(SMS_services_list[i].name, "SMS_protocol_");		sms_strcat(SMS_services_list[i].name, ep->d_name);		SMS_services_list[i].found = 0;		SMS_services_list[i].default_warning = 1; 		SMS_services_list[i].str_value = NULL; 		SMS_services_list[i].int_value = 0; 		SMS_services_list[i].default_str_value = NULL; 		SMS_services_list[i].default_int_value = 0; 		SMS_services_list[i].var = NULL; 		i++;	}	SMS_services_list[i].type = RESOURCE_NULL;	SMS_services_list[i].name = NULL;	SMS_services_list[i].found = 0;	SMS_services_list[i].default_warning = 1; 	SMS_services_list[i].str_value = NULL; 	SMS_services_list[i].int_value = 0; 	SMS_services_list[i].default_str_value = NULL; 	SMS_services_list[i].default_int_value = 0; 	SMS_services_list[i].var = NULL;	sms_strcpy(fname, SERVICEDIR);	sms_strcat(fname, "/sms_services");	if (read_resource_file(fname, SMS_services_list, FALSE) != RESOURCE_FILE_OK)	{	lprintf(LOG_ERROR, "Unrecoverable Failure Parsing service file %s\n", fname); 		exit(-1);	}}/* -------------------------------------------------------------------- *//* -------------------------------------------------------------------- */char *get_protocol(char *service){	char	name[512];	RESOURCE		*resource;	if (SMS_services_list == NULL)	{	read_services();	}	sms_strcpy(name, "SMS_protocol_");	sms_strcat(name, service);	resource = SMS_services_list;	while (resource->type != RESOURCE_NULL)	{		if (strcmp(name, resource->name) == 0)		{	lprintf(LOG_VERBOSE, "Found %s = %s\n", resource->name, resource->str_value);			return resource->str_value;		}		resource++;	}	return NULL;}/* -------------------------------------------------------------------- *//* -------------------------------------------------------------------- */int validate_expanded_numbers(SMS_list *numbers){	DEVICE_ENTRY		*device;	char	*id,		*service,		*protocol;	int	count;	SMS_list		*node;	count = 0;			node = get_first(numbers);	while (node != NULL)	{		service  = get_service(node);		protocol = get_protocol(service);		device = get_device(protocol);		if (device == NULL)		{	lprintf(LOG_ERROR, "Driver for service %s NOT found\n", service);			count++;		}		else		{	id = get_number(node);			if (!((*device->validate_id)(id)))			{				lprintf(LOG_WARNING, "Invalid id: %s\n", id);				count++;			}		}			node = get_next(node);	}	return count;}	/* -------------------------------------------------------------------- *//* -------------------------------------------------------------------- */int is_numeric(char *ptr){	while (*ptr != '\0')	{		if (!isdigit(*ptr))		{	return FALSE;		}		ptr++;	}	return TRUE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费视频观看| 欧美这里有精品| 麻豆中文一区二区| 日韩精品国产精品| 青青草国产成人av片免费| 日韩精品1区2区3区| 日韩av电影免费观看高清完整版 | 一区二区三区在线观看视频| 欧美国产精品中文字幕| 欧美国产精品中文字幕| 国产精品乱码久久久久久| 国产精品国产三级国产普通话蜜臀 | 精品综合免费视频观看| 国产精品香蕉一区二区三区| 国产精品123| 91网上在线视频| 欧美午夜电影一区| 日韩精品中文字幕在线不卡尤物 | 欧美性猛交一区二区三区精品 | 精久久久久久久久久久| 国产成人综合在线| 色综合久久久久| 日韩一级片网址| 中文字幕国产一区| 亚洲亚洲人成综合网络| 极品美女销魂一区二区三区| 成人精品国产免费网站| 欧美日韩精品欧美日韩精品一 | 香蕉成人伊视频在线观看| 久久国产精品无码网站| av在线不卡电影| 欧美一区二区观看视频| 国产精品视频免费看| 日韩av午夜在线观看| 91论坛在线播放| 久久免费视频一区| 亚洲国产一二三| 成人动漫视频在线| 日韩久久精品一区| 一区二区在线免费| 成人免费va视频| 精品日韩在线一区| 亚洲精品高清在线| 高清不卡在线观看| 日韩三级在线免费观看| 一区二区三区四区在线播放| 国产综合久久久久影院| 欧美日韩黄视频| **欧美大码日韩| 国产一区二三区| 欧美一区二区视频观看视频| 亚洲一区影音先锋| av亚洲精华国产精华| 精品电影一区二区| 日韩av在线发布| 欧美日韩日日摸| 亚洲激情图片一区| 99久久精品国产一区| 久久久久久久一区| 国产又黄又大久久| 日韩欧美国产成人一区二区| 亚洲成人www| 色94色欧美sute亚洲线路一久| 国产日韩欧美精品一区| 国产一区不卡视频| 欧美精品一区二区三区四区 | 久久久久国产成人精品亚洲午夜| 亚洲bt欧美bt精品777| 欧美综合久久久| 樱桃视频在线观看一区| 91一区二区在线| 亚洲私人影院在线观看| 成人高清在线视频| 亚洲欧洲三级电影| 91美女在线视频| 亚洲精品一二三四区| 91小视频免费观看| 一区二区三区四区乱视频| 91麻豆国产精品久久| 一级精品视频在线观看宜春院| 91在线国内视频| 一区二区不卡在线视频 午夜欧美不卡在| 成人h版在线观看| 亚洲婷婷在线视频| 欧美综合久久久| 蜜臀久久99精品久久久画质超高清 | 亚洲日本中文字幕区| 色狠狠桃花综合| 亚洲高清三级视频| 911精品国产一区二区在线| 男女男精品视频网| 国产亚洲欧美激情| 色哟哟日韩精品| 日本午夜一本久久久综合| 精品剧情在线观看| 91亚洲精品乱码久久久久久蜜桃| 一区二区三区四区五区视频在线观看| 欧美三区免费完整视频在线观看| 免费观看日韩av| 国产夜色精品一区二区av| 91久久久免费一区二区| 日本午夜一区二区| 欧美国产日韩a欧美在线观看| 日本韩国欧美在线| 极品少妇xxxx精品少妇偷拍| 亚洲精品一卡二卡| 欧美精品一区二区三区蜜臀| 色狠狠综合天天综合综合| 蜜桃精品在线观看| 最新热久久免费视频| 欧美一区二区久久久| youjizz久久| 免费观看91视频大全| 国产精品毛片久久久久久久| 7777精品伊人久久久大香线蕉的 | 久久99热这里只有精品| 日本一区二区三级电影在线观看| 91久久精品一区二区三区| 精品一区二区三区在线观看国产| 中文字幕一区二区三区四区| 宅男噜噜噜66一区二区66| 97久久超碰精品国产| 九色综合狠狠综合久久| 亚洲精品成人天堂一二三| 国产亚洲1区2区3区| 欧美情侣在线播放| 色综合天天综合在线视频| 欧美激情在线一区二区| 成人精品一区二区三区四区| 日本欧洲一区二区| 一区二区三区小说| 中文字幕日本不卡| 久久久国产综合精品女国产盗摄| 欧美色网一区二区| 色综合久久久久久久久| 成人免费视频网站在线观看| 精品一区二区三区不卡| 日韩电影在线一区二区三区| 夜夜嗨av一区二区三区网页| 中文字幕在线播放不卡一区| 久久午夜羞羞影院免费观看| 国产精品初高中害羞小美女文| 欧美不卡视频一区| 欧美一区二区三区四区五区| 欧美美女bb生活片| 欧美日韩不卡一区二区| 欧美日韩精品欧美日韩精品一综合| 91丝袜高跟美女视频| aaa亚洲精品| 一本一道久久a久久精品综合蜜臀| www.欧美日韩| 一本色道久久综合亚洲aⅴ蜜桃| av一区二区三区四区| jiyouzz国产精品久久| 99国产欧美另类久久久精品| 成人av网在线| 91视频观看免费| 色偷偷一区二区三区| 欧美影片第一页| 欧美日韩高清一区| 日韩一区国产二区欧美三区| 精品欧美一区二区久久| 久久综合一区二区| 国产精品另类一区| 一区二区三区中文字幕精品精品 | 香蕉久久夜色精品国产使用方法 | 91精品国产高清一区二区三区 | 在线观看亚洲一区| 欧美影视一区二区三区| 欧美夫妻性生活| 欧美xxxx在线观看| 亚洲国产精品99久久久久久久久| 欧美高清在线精品一区| 综合在线观看色| 日韩一区欧美二区| 国产剧情一区二区三区| 成人黄色软件下载| 欧美视频你懂的| 久久久久9999亚洲精品| 国产精品不卡视频| 免费人成精品欧美精品| 国产成人啪免费观看软件 | 蜜桃视频免费观看一区| 国产精品影视网| 一本色道久久综合亚洲91| 欧美videos大乳护士334| 亚洲欧洲av另类| 捆绑调教美女网站视频一区| 成人av网站在线观看免费| 欧美一卡2卡3卡4卡| 国产精品的网站| 裸体一区二区三区| caoporm超碰国产精品| 日韩视频在线你懂得| 国产精品久久午夜夜伦鲁鲁| 三级欧美韩日大片在线看| 99精品国产99久久久久久白柏| 欧美成人三级电影在线| 亚洲一区二区在线视频| jizz一区二区|