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

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

?? unicode.c

?? 非常好的dns解析軟件
?? C
字號:
#ifndef lintstatic char *rcsid = "$Id: unicode.c,v 1.1.1.1 2003/06/04 00:26:16 marka Exp $";#endif/* * Copyright (c) 2000,2001,2002 Japan Network Information Center. * All rights reserved. *   * By using this file, you agree to the terms and conditions set forth bellow. *  * 			LICENSE TERMS AND CONDITIONS  *  * The following License Terms and Conditions apply, unless a different * license is obtained from Japan Network Information Center ("JPNIC"), * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda, * Chiyoda-ku, Tokyo 101-0047, Japan. *  * 1. Use, Modification and Redistribution (including distribution of any *    modified or derived work) in source and/or binary forms is permitted *    under this License Terms and Conditions. *  * 2. Redistribution of source code must retain the copyright notices as they *    appear in each source code file, this License Terms and Conditions. *  * 3. Redistribution in binary form must reproduce the Copyright Notice, *    this License Terms and Conditions, in the documentation and/or other *    materials provided with the distribution.  For the purposes of binary *    distribution the "Copyright Notice" refers to the following language: *    "Copyright (c) 2000-2002 Japan Network Information Center.  All rights reserved." *  * 4. The name of JPNIC may not be used to endorse or promote products *    derived from this Software without specific prior written approval of *    JPNIC. *  * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC *    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *    PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL JPNIC BE LIABLE *    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF *    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR *    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, *    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR *    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF *    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. */#include <config.h>#include <stddef.h>#include <stdlib.h>#include <string.h>#include <idn/result.h>#include <idn/logmacro.h>#include <idn/assert.h>#include <idn/unicode.h>#define UNICODE_CURRENT	"3.2.0"#define UCS_MAX		0x10ffff#define END_BIT		0x80000000/* * Some constants for Hangul decomposition/composition. */#define SBase		0xac00#define LBase		0x1100#define VBase		0x1161#define TBase		0x11a7#define LCount		19#define VCount		21#define TCount		28#define SLast		(SBase + LCount * VCount * TCount)/* * Symbol composition macro. */#define compose_sym(a, b)		compose_symX(a, b)#define compose_symX(a, b)		a ## bstruct composition {	unsigned long c2;	/* 2nd character */	unsigned long comp;	/* composed character */};#include "unicodedata_320.c"#define VERSION v320#include "unicode_template.c"#undef VERSIONtypedef int	(*unicode_canonclassproc)(unsigned long v);typedef int	(*unicode_decomposeproc)(unsigned long c,					 const unsigned long **seqp);typedef int	(*unicode_composeproc)(unsigned long c,				       const struct composition **compp);static struct idn__unicode_ops {	char *version;	unicode_canonclassproc canonclass_proc;	unicode_decomposeproc decompose_proc;	unicode_composeproc compose_proc;} unicode_versions[] = {#define MAKE_UNICODE_HANDLE(version, suffix) \	{ version, \	  compose_sym(canonclass_, suffix), \	  compose_sym(decompose_, suffix), \	  compose_sym(compose_, suffix) }	MAKE_UNICODE_HANDLE("3.2.0", v320),	{ NULL },#undef MAKE_UNICODE_HANDLE};	idn_result_tidn__unicode_create(const char *version,		    idn__unicode_version_t *versionp) {	idn__unicode_version_t v;	assert(versionp != NULL);	TRACE(("idn__unicode_create(version=%-.50s)\n",	       version == NULL ? "<NULL>" : version));	if (version == NULL)		version = UNICODE_CURRENT;	for (v = unicode_versions; v->version != NULL; v++) {		if (strcmp(v->version, version) == 0) {			*versionp = v;			return (idn_success);		}	}	return (idn_notfound);}voididn__unicode_destroy(idn__unicode_version_t version) {	assert(version != NULL);	TRACE(("idn__unicode_destroy()\n"));	/* Nothing to do */}intidn__unicode_canonicalclass(idn__unicode_version_t version, unsigned long c) {	if (c > UCS_MAX)		return (0);	return (*version->canonclass_proc)(c);}idn_result_tidn__unicode_decompose(idn__unicode_version_t version,		       int compat, unsigned long *v, size_t vlen,		       unsigned long c, int *decomp_lenp) {	unsigned long *vorg = v;	int seqidx;	const unsigned long *seq;	assert(v != NULL && vlen >= 0 && decomp_lenp != NULL);	if (c > UCS_MAX)		return (idn_notfound);	/*	 * First, check for Hangul.	 */	if (SBase <= c && c < SLast) {		int idx, t_offset, v_offset, l_offset;		idx = c - SBase;		t_offset = idx % TCount;		idx /= TCount;		v_offset = idx % VCount;		l_offset = idx / VCount;		if ((t_offset == 0 && vlen < 2) || (t_offset > 0 && vlen < 3))			return (idn_buffer_overflow);		*v++ = LBase + l_offset;		*v++ = VBase + v_offset;		if (t_offset > 0)			*v++ = TBase + t_offset;		*decomp_lenp = v - vorg;		return (idn_success);	}	/*	 * Look up decomposition table.  If no decomposition is defined	 * or if it is a compatibility decomosition when canonical	 * decomposition requested, return 'idn_notfound'.	 */	seqidx = (*version->decompose_proc)(c, &seq);	if (seqidx == 0 || (compat == 0 && (seqidx & DECOMP_COMPAT) != 0))		return (idn_notfound);		/*	 * Copy the decomposed sequence.  The end of the sequence are	 * marked with END_BIT.	 */	do {		unsigned long c;		int dlen;		idn_result_t r;		c = *seq & ~END_BIT;		/* Decompose recursively. */		r = idn__unicode_decompose(version, compat, v, vlen, c, &dlen);		if (r == idn_success) {			v += dlen;			vlen -= dlen;		} else if (r == idn_notfound) {			if (vlen < 1)				return (idn_buffer_overflow);			*v++ = c;			vlen--;		} else {			return (r);		}	} while ((*seq++ & END_BIT) == 0);		*decomp_lenp = v - vorg;	return (idn_success);}intidn__unicode_iscompositecandidate(idn__unicode_version_t version,				  unsigned long c) {	const struct composition *dummy;	if (c > UCS_MAX)		return (0);	/* Check for Hangul */	if ((LBase <= c && c < LBase + LCount) || (SBase <= c && c < SLast))		return (1);	/*	 * Look up composition table.  If there are no composition	 * that begins with the given character, it is not a	 * composition candidate.	 */	if ((*version->compose_proc)(c, &dummy) == 0)		return (0);	else		return (1);}idn_result_tidn__unicode_compose(idn__unicode_version_t version, unsigned long c1,		     unsigned long c2, unsigned long *compp) {	int n;	int lo, hi;	const struct composition *cseq;	assert(compp != NULL);	if (c1 > UCS_MAX || c2 > UCS_MAX)		return (idn_notfound);	/*	 * Check for Hangul.	 */	if (LBase <= c1 && c1 < LBase + LCount &&	    VBase <= c2 && c2 < VBase + VCount) {		/*		 * Hangul L and V.		 */		*compp = SBase +			((c1 - LBase) * VCount + (c2 - VBase)) * TCount;		return (idn_success);	} else if (SBase <= c1 && c1 < SLast &&		   TBase <= c2 && c2 < TBase + TCount &&		   (c1 - SBase) % TCount == 0) {		/*		 * Hangul LV and T.		 */		*compp = c1 + (c2 - TBase);		return (idn_success);	}	/*	 * Look up composition table.  If the result is 0, no composition	 * is defined.  Otherwise, upper 16bits of the result contains	 * the number of composition that begins with 'c1', and the lower	 * 16bits is the offset in 'compose_seq'.	 */	if ((n = (*version->compose_proc)(c1, &cseq)) == 0)		return (idn_notfound);	/*	 * The composite sequences are sorted by the 2nd character 'c2'.	 * So we can use binary search.	 */	lo = 0;	hi = n - 1;	while (lo <= hi) {		int mid = (lo + hi) / 2;		if (cseq[mid].c2 < c2) {			lo = mid + 1;		} else if (cseq[mid].c2 > c2) {			hi = mid - 1;		} else {			*compp = cseq[mid].comp;			return (idn_success);		}	}	return (idn_notfound);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国精品主播一区二区在线观看 | 欧美精品在线视频| 成人短视频下载| 高清在线不卡av| 久草热8精品视频在线观看| 麻豆精品一二三| 日韩av中文字幕一区二区三区| 亚洲香肠在线观看| 视频一区免费在线观看| 麻豆精品蜜桃视频网站| 国产在线不卡视频| 日本乱人伦aⅴ精品| 欧美日韩精品系列| 国产色产综合色产在线视频| 亚洲欧美偷拍三级| 久久精品久久精品| 不卡视频一二三| 555www色欧美视频| 国产日韩欧美麻豆| 无码av中文一区二区三区桃花岛| 爽好久久久欧美精品| 成人av片在线观看| 精品日韩av一区二区| 一色桃子久久精品亚洲| 久久国产精品99久久久久久老狼| 乱一区二区av| 91捆绑美女网站| 久久精品亚洲麻豆av一区二区| 亚洲香肠在线观看| 波多野洁衣一区| 精品国产髙清在线看国产毛片 | 裸体在线国模精品偷拍| 色综合天天综合| 国产日韩亚洲欧美综合| 99精品久久99久久久久| 国产精品美女久久久久久2018| 国产精品高潮呻吟久久| 国产麻豆午夜三级精品| 日韩欧美一级二级三级久久久| 亚洲欧洲中文日韩久久av乱码| 精品在线亚洲视频| 欧美成人伊人久久综合网| 首页亚洲欧美制服丝腿| 欧美喷水一区二区| 日本中文字幕一区| 亚洲精品在线免费播放| 国产乱子轮精品视频| 精品剧情在线观看| 岛国精品在线观看| 玉米视频成人免费看| 欧美人妇做爰xxxⅹ性高电影| 亚洲第一福利一区| 久久这里只有精品6| eeuss鲁一区二区三区| 亚洲国产视频在线| 欧美精品免费视频| 国产曰批免费观看久久久| 中文字幕在线不卡一区二区三区| 99re免费视频精品全部| 午夜精品免费在线观看| 日韩欧美一区二区久久婷婷| 国产尤物一区二区| 亚洲综合一区在线| 久久老女人爱爱| 在线播放欧美女士性生活| 国内久久精品视频| 亚洲午夜三级在线| 国产女主播一区| 欧美本精品男人aⅴ天堂| 91猫先生在线| 丁香激情综合国产| 美女www一区二区| 亚洲电影一级片| 亚洲精品视频免费观看| 久久久无码精品亚洲日韩按摩| 欧洲日韩一区二区三区| 成人免费av网站| 国产a级毛片一区| 狠狠色丁香久久婷婷综合_中| 亚洲视频在线一区| 日韩毛片精品高清免费| 国产精品国产三级国产| 亚洲国产精品ⅴa在线观看| 精品欧美一区二区在线观看| 欧美一卡二卡在线| 日韩视频在线你懂得| 日韩精品一区二区三区视频 | 亚洲成人av在线电影| 一区二区视频在线| 亚洲一区二区三区精品在线| 亚洲一区二区成人在线观看| 亚洲国产成人va在线观看天堂| 亚洲精品视频一区| 午夜精品久久久久久久| 蜜桃视频一区二区| 国产999精品久久| av中文字幕一区| 精品视频一区二区三区免费| 欧美日韩在线三区| 欧美电影免费观看完整版| 精品免费视频一区二区| 国产精品视频看| 亚洲午夜在线观看视频在线| 欧美bbbbb| 成人免费视频视频在线观看免费| 99国产一区二区三精品乱码| 欧美精品123区| 国产精品久久久久久久久免费樱桃| 国产日本亚洲高清| 午夜精品福利一区二区蜜股av | 精品福利二区三区| 中文在线免费一区三区高中清不卡| 亚洲免费观看高清| 久久99久久精品欧美| 91久久免费观看| 欧美大尺度电影在线| 亚洲国产人成综合网站| 国产成人一级电影| 日韩欧美国产精品| 视频一区欧美日韩| 欧美日韩一区二区不卡| 国产精品国产三级国产三级人妇 | 91精品国产综合久久精品麻豆| 国产精品久久久久一区| 国产一区在线精品| 日韩欧美一级二级三级| 亚洲成人精品一区| 在线亚洲高清视频| 亚洲精选免费视频| 99精品视频在线观看免费| 欧美国产视频在线| 不卡av电影在线播放| 中文字幕亚洲一区二区av在线| 国产最新精品免费| 日韩免费成人网| 韩国精品主播一区二区在线观看| 久久色.com| 成人h精品动漫一区二区三区| 中文在线一区二区| 欧美亚洲日本国产| 日韩精品国产欧美| 日韩一区二区在线观看| 国产九色精品成人porny | 精一区二区三区| 久久久久久久网| 91一区二区三区在线观看| 亚洲第一成人在线| 精品成人一区二区| 91视频xxxx| 久久99精品一区二区三区| 亚洲欧洲99久久| 91精品国产91热久久久做人人 | 久久久久久99精品| 粉嫩13p一区二区三区| 91精品在线一区二区| 麻豆精品视频在线观看视频| 51精品久久久久久久蜜臀| 青青草国产成人99久久| 久久精品一区二区| 色欧美日韩亚洲| 亚洲福利国产精品| www日韩大片| 成人在线一区二区三区| 伊人婷婷欧美激情| 在线播放中文字幕一区| 激情文学综合丁香| 亚洲成在人线在线播放| 久久精品亚洲乱码伦伦中文| 91亚洲精品一区二区乱码| 午夜国产精品一区| 17c精品麻豆一区二区免费| 欧美日韩综合在线免费观看| 成人av在线播放网站| 亚洲欧洲国产专区| 久久免费午夜影院| 欧美性猛片aaaaaaa做受| 成人涩涩免费视频| 精品在线观看免费| 青青草原综合久久大伊人精品优势 | 亚洲精品一二三| 国产精品嫩草99a| 久久精品综合网| 国产亚洲精久久久久久| 精品国产91亚洲一区二区三区婷婷| 91麻豆精东视频| 日本精品视频一区二区| av一区二区三区四区| 久久se这里有精品| 久久99国产精品免费网站| 亚洲成人免费视| 午夜电影久久久| 奇米影视一区二区三区| 久久精品国产精品青草| 久久精品国产网站| 国产又粗又猛又爽又黄91精品| 日本午夜精品视频在线观看| 久久精品99久久久| 国产精品99久久久久| 91久久人澡人人添人人爽欧美| 91精品一区二区三区在线观看|