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

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

?? nls_euc-jp.c

?? 嵌入式系統(tǒng)設(shè)計與實例開發(fā)源碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
}/* EUC to SJIS IBM extended characters (G3 JIS X 0212 block) */static inline int euc2sjisibm_jisx0212(unsigned char *sjis, const unsigned char euc_hi,				       const unsigned char euc_lo){	int index, min_index, max_index;	unsigned short euc;	min_index = 0;	max_index = MAP_ELEMENT_OF(euc2sjisibm_jisx0212_map) - 1;	euc = (euc_hi << 8) | euc_lo;	while (min_index <= max_index) {		index = (min_index + max_index) / 2;		if (euc < euc2sjisibm_jisx0212_map[index].euc)			max_index = index - 1;		else			min_index = index + 1;		if (euc == euc2sjisibm_jisx0212_map[index].euc) {			sjis[0] = euc2sjisibm_jisx0212_map[index].sjis[0];			sjis[1] = euc2sjisibm_jisx0212_map[index].sjis[1];			return 3;		}	}	return 0;}/* EUC to SJIS IBM extended characters (G3 Upper block) */static inline int euc2sjisibm_g3upper(unsigned char *sjis, const unsigned char euc_hi,				      const unsigned char euc_lo){	int index;	if (euc_hi == 0xF3)		index = ((euc_hi << 8) | euc_lo) - 0xF3F3;	else		index = ((euc_hi << 8) | euc_lo) - 0xF4A1 + 12;	if ((index < 0) || (index >= MAP_ELEMENT_OF(euc2sjisibm_g3upper_map)))		return 0;	sjis[0] = euc2sjisibm_g3upper_map[index][0];	sjis[1] = euc2sjisibm_g3upper_map[index][1];	return 3;}/* EUC to SJIS IBM extended characters (G3 block) */static inline int euc2sjisibm(unsigned char *sjis, const unsigned char euc_hi,			      const unsigned char euc_lo){	int n;#if 0	if ((euc_hi == 0xA2) && (euc_lo == 0xCC)) {		sjis[0] = 0xFA;		sjis[1] = 0x54;		return 2;	} else if ((euc_hi == 0xA2) && (euc_lo == 0xE8)) {		sjis[0] = 0xFA;		sjis[1] = 0x5B;		return 2;	}#endif	if ((n = euc2sjisibm_g3upper(sjis, euc_hi, euc_lo))) {		return n;	} else if ((n = euc2sjisibm_jisx0212(sjis, euc_hi, euc_lo))) {		return n;	}	return 0;}/* NEC/IBM extended characters to IBM extended characters */static inline int sjisnec2sjisibm(unsigned char *sjisibm,				  const unsigned char sjisnec_hi,				  const unsigned char sjisnec_lo){	int count;	if (! IS_SJIS_NECIBM(sjisnec_hi, sjisnec_lo))		return 0;	if ((sjisnec_hi == 0xEE) && (sjisnec_lo == 0xF9)) {		sjisibm[0] = 0x81;		sjisibm[1] = 0xCA;		return 2;	}	if ((sjisnec_hi == 0xEE) && (sjisnec_lo >= 0xEF)) {		count = (sjisnec_hi << 8 | sjisnec_lo)			- (sjisnec_lo <= 0xF9 ? 0xEEEF : (0xEEEF - 10));	} else {		count = (sjisnec_hi - 0xED) * (0xFC - 0x40)			+ (sjisnec_lo - 0x40) + (0x5C - 0x40);		if (sjisnec_lo >= 0x7F)			count--;	}	sjisibm[0] = 0xFA + (count / (0xFC - 0x40));	sjisibm[1] = 0x40 + (count % (0xFC - 0x40));	if (sjisibm[1] >= 0x7F)		sjisibm[1]++;	return 2;}static int uni2char(const wchar_t uni,		    unsigned char *out, int boundlen){	int n;	if (!p_nls)		return -EINVAL;	if ((n = p_nls->uni2char(uni, out, boundlen)) < 0)		return n;	/* translate SJIS into EUC-JP */	if (n == 1) {		if (IS_SJIS_JISX0201KANA(out[0])) {			/* JIS X 0201 KANA */			if (boundlen < 2)				return -ENAMETOOLONG;			out[1] = out[0];			out[0] = SS2;			return 2;		}	} else if (n == 2) {		/* NEC/IBM extended characters to IBM extended characters */		sjisnec2sjisibm(out, out[0], out[1]);		if (IS_SJIS_UDC_LOW(out[0], out[1])) {			/* User defined characters half low */			MAP_SJIS2EUC(out[0], out[1], 0xF0, out[0], out[1], 0xF5);		} else if (IS_SJIS_UDC_HI(out[0], out[1])) {			/* User defined characters half high */			unsigned char ch, cl;			if (boundlen < 3)				return -ENAMETOOLONG;			n = 3; ch = out[0]; cl = out[1];			out[0] = SS3;			MAP_SJIS2EUC(ch, cl, 0xF5, out[1], out[2], 0xF5);		} else if (IS_SJIS_IBM(out[0], out[1])) {			/* IBM extended characters */			unsigned char euc[3], i;			n = sjisibm2euc(euc, out[0], out[1]);			if (boundlen < n)				return -ENAMETOOLONG;			for (i = 0; i < n; i++)				out[i] = euc[i];		} else if (IS_SJIS_JISX0208(out[0], out[1])) {			/* JIS X 0208 (include NEC special characters) */			out[0] = (out[0]^0xA0)*2 + 0x5F;			if (out[1] > 0x9E)				out[0]++;			if (out[1] < 0x7F)				out[1] = out[1] + 0x61;			else if (out[1] < 0x9F)				out[1] = out[1] + 0x60;			else				out[1] = out[1] + 0x02;		} else {			/* Invalid characters */			return -EINVAL;		}	}	else		return -EINVAL;	return n;}static int char2uni(const unsigned char *rawstring, int boundlen,		    wchar_t *uni){	unsigned char sjis_temp[2];	int euc_offset, n;	if ( !p_nls )		return -EINVAL;	if (boundlen <= 0)		return -ENAMETOOLONG;	/* translate EUC-JP into SJIS */	if (rawstring[0] > 0x7F) {		if (rawstring[0] == SS3) {			if (boundlen < 3)				return -EINVAL;			euc_offset = 3;			if (IS_EUC_UDC_HI(rawstring[1], rawstring[2])) {				/* User defined characters half high */				MAP_EUC2SJIS(rawstring[1], rawstring[2], 0xF5,					     sjis_temp[0], sjis_temp[1], 0xF5);			} else if (euc2sjisibm(sjis_temp,rawstring[1],rawstring[2])) {				/* IBM extended characters */			} else {				/* JIS X 0212 and Invalid characters*/				return -EINVAL;				/* 'GETA' with SJIS coding */				/* sjis_temp[0] = 0x81; */				/* sjis_temp[1] = 0xAC; */			}		} else {			if (boundlen < 2)				return -EINVAL;			euc_offset = 2;			if (IS_EUC_JISX0201KANA(rawstring[0], rawstring[1])) {				/* JIS X 0201 KANA */				sjis_temp[0] = rawstring[1];				sjis_temp[1] = 0x00;			} else if (IS_EUC_UDC_LOW(rawstring[0], rawstring[1])) {				/* User defined characters half low */				MAP_EUC2SJIS(rawstring[0], rawstring[1], 0xF5,					     sjis_temp[0], sjis_temp[1], 0xF0);			} else if (IS_EUC_JISX0208(rawstring[0], rawstring[1])) {				/* JIS X 0208 (include NEC spesial characters) */				sjis_temp[0] = ((rawstring[0]-0x5f)/2) ^ 0xA0;				if (!(rawstring[0] & 1))					sjis_temp[1] = rawstring[1] - 0x02;				else if (rawstring[1] < 0xE0)					sjis_temp[1] = rawstring[1] - 0x61;				else					sjis_temp[1] = rawstring[1] - 0x60;			} else {				/* Invalid characters */				return -EINVAL;			}		}	} else {		euc_offset = 1;		/* JIS X 0201 ROMAJI */		sjis_temp[0] = rawstring[0];		sjis_temp[1] = 0x00;	}	if ( (n = p_nls->char2uni(sjis_temp, sizeof(sjis_temp), uni)) < 0)		return n;	return euc_offset;}static struct nls_table table = {	"euc-jp",	uni2char,	char2uni,	NULL,	NULL,	THIS_MODULE,};static int __init init_nls_euc_jp(void){	p_nls = load_nls("cp932");	if (p_nls) {		table.charset2upper = p_nls->charset2upper;		table.charset2lower = p_nls->charset2lower;		return register_nls(&table);	}	return -EINVAL;}static void __exit exit_nls_euc_jp(void){	unregister_nls(&table);	unload_nls(p_nls);}module_init(init_nls_euc_jp)module_exit(exit_nls_euc_jp)MODULE_LICENSE("Dual BSD/GPL");/* * Overrides for Emacs so that we follow Linus's tabbing style. * Emacs will notice this stuff at the end of the file and automatically * adjust the settings for this buffer only.  This must remain at the end * of the file. *--------------------------------------------------------------------------- * Local variables: * c-indent-level: 8 * c-brace-imaginary-offset: 0 * c-brace-offset: -8 * c-argdecl-indent: 8 * c-label-offset: -8 * c-continued-statement-offset: 8 * c-continued-brace-offset: 0 * End: */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合免费观看高清完整版在线 | 日韩西西人体444www| 不卡的av在线播放| caoporm超碰国产精品| 欧美日韩小视频| 久久久久88色偷偷免费| 亚洲精品国产无套在线观| 蜜桃视频一区二区三区在线观看| 国产专区欧美精品| 色婷婷亚洲精品| 久久久亚洲精华液精华液精华液 | 日本 国产 欧美色综合| 欧美亚洲综合一区| 国产精品嫩草影院com| 国产在线精品国自产拍免费| 欧美精品在线视频| 国产高清在线精品| 5566中文字幕一区二区电影 | 欧美一区二区免费观在线| 91麻豆精品国产自产在线| 免费成人美女在线观看| 久久综合九色综合欧美98| 五月天久久比比资源色| 91亚洲精品一区二区乱码| 国产精品亲子伦对白| 一本一道综合狠狠老| 日韩高清在线一区| 欧美日韩精品专区| 日韩中文字幕不卡| 精品视频资源站| 国产精品69毛片高清亚洲| 国产亚洲一区二区三区四区 | 欧美乱妇15p| 国产精品伊人色| 亚洲国产毛片aaaaa无费看| 色综合天天综合在线视频| 国产精品欧美一级免费| 卡一卡二国产精品| 国产成人午夜视频| 午夜亚洲国产au精品一区二区| 国产亚洲精品久| 欧美一区二区精品在线| 91视频免费看| 国产高清在线精品| 裸体在线国模精品偷拍| 亚洲一区av在线| 国产精品日韩成人| 欧美一级夜夜爽| 91福利视频久久久久| 亚洲国产精品久久人人爱蜜臀| 久久精品亚洲精品国产欧美 | 亚洲成精国产精品女| 欧洲一区二区三区在线| 午夜视频一区在线观看| 久久久精品黄色| 精品区一区二区| 亚洲色图第一区| 一本到不卡免费一区二区| 麻豆精品在线看| 日韩精品一二三区| 亚洲色图视频网| 国产精品午夜在线观看| 26uuu亚洲综合色| 日韩欧美国产一二三区| 午夜精品福利一区二区三区蜜桃| 亚洲视频在线观看三级| 国产视频视频一区| 久久蜜桃av一区二区天堂| 欧美性猛交xxxxxxxx| 欧美中文字幕一区二区三区| 成人丝袜18视频在线观看| 国产美女视频91| 美女视频网站久久| 久久99精品网久久| 国产精品蜜臀av| 国产精品久久久久久户外露出 | 色欧美日韩亚洲| 色综合色狠狠综合色| 成人午夜看片网址| 成人精品gif动图一区| 国产精品一区一区| 成人av先锋影音| 国产aⅴ综合色| www.成人网.com| 国产91精品久久久久久久网曝门| 国产精品资源网站| 国产精品99久久久久久久vr| 成人免费黄色大片| 成人福利电影精品一区二区在线观看| 成人精品国产免费网站| 成人综合在线观看| 91九色02白丝porn| 欧美性极品少妇| 精品久久一区二区| 精品国产一区二区亚洲人成毛片| 色久优优欧美色久优优| 色av成人天堂桃色av| 欧美视频一区二区三区四区| 欧美专区在线观看一区| 午夜欧美电影在线观看| 国产欧美一区二区精品性| 91玉足脚交白嫩脚丫在线播放| 91亚洲国产成人精品一区二区三| 色伊人久久综合中文字幕| 欧美日韩久久不卡| 日韩一区二区免费高清| 国产精品成人网| 精品少妇一区二区三区| 久久精品亚洲乱码伦伦中文| 国产精品视频一二三| 欧美激情在线观看视频免费| 欧美军同video69gay| 日本高清视频一区二区| 欧美日本韩国一区二区三区视频| 日韩一级大片在线观看| 国产亚洲美州欧州综合国| 亚洲视频一区在线| 韩国三级在线一区| 97国产精品videossex| 豆国产96在线|亚洲| 色婷婷一区二区| www成人在线观看| 国产精品久久久久影院亚瑟 | 欧美一区二区福利视频| 久久久久国产精品免费免费搜索| 亚洲视频资源在线| 国产一区二区影院| 色8久久人人97超碰香蕉987| 久久久久久久久97黄色工厂| 亚洲欧美激情一区二区| 久久99热这里只有精品| 91丨九色丨蝌蚪富婆spa| 欧美变态口味重另类| 亚洲天堂免费在线观看视频| 国产乱妇无码大片在线观看| 91久久精品午夜一区二区| 日本一区二区三区四区在线视频| 亚洲国产精品一区二区www在线| 成人丝袜18视频在线观看| 欧美久久高跟鞋激| 亚洲伦在线观看| 亚洲成人在线观看视频| 92精品国产成人观看免费| 91精品国产福利| 亚洲综合成人网| 国产精品99久久久久久久女警| 欧美日韩视频在线观看一区二区三区 | 欧美电影精品一区二区| 国产精品黄色在线观看| 国产一区二区在线视频| 欧美日韩在线播放一区| 综合婷婷亚洲小说| 国产一区 二区| 欧美本精品男人aⅴ天堂| 一区二区高清在线| 91黄色在线观看| 欧美激情在线一区二区三区| 国产成人av电影| 精品国产髙清在线看国产毛片| 男女男精品网站| 欧美日韩综合不卡| 亚洲午夜一二三区视频| 免费av网站大全久久| 日韩精品中午字幕| 亚洲精品久久7777| 色欧美日韩亚洲| 亚洲成av人片在线| 欧美午夜一区二区三区| 亚洲国产中文字幕在线视频综合 | 亚洲高清不卡在线观看| 91黄色免费版| 亚洲欧美在线观看| 日韩福利电影在线观看| 99精品国产视频| 亚洲蜜臀av乱码久久精品蜜桃| 国产成人在线免费观看| 亚洲精品在线观看网站| 国产精品一二三四| 国产日本欧美一区二区| caoporen国产精品视频| 亚洲国产高清aⅴ视频| 99综合电影在线视频| 国产欧美日本一区二区三区| 国产精品自产自拍| 综合欧美一区二区三区| 色欧美日韩亚洲| 奇米影视一区二区三区| 91久久精品一区二区二区| 性欧美疯狂xxxxbbbb| 欧美精品一区二区三区很污很色的| 日韩av网站免费在线| 久久久国产综合精品女国产盗摄| 国产一区二区三区美女| 一色桃子久久精品亚洲| 色综合久久中文字幕| 日韩av电影天堂| 欧美一区二区久久久| 久久久国产精品午夜一区ai换脸| 国产精品伊人色| 亚洲人一二三区|