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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? inet_pton.c

?? 視頻音頻編碼程序 視頻音頻編碼程序 視頻音頻編碼程序
?? C
字號(hào):
/* This is from the BIND 4.9.4 release, modified to compile by itself */

/* Copyright (c) 1996 by Internet Software Consortium.
 *
 * Permission to use, copy, modify, and distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
 * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
 * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 * SOFTWARE.
 */

#ifndef HAVE_INET_PTON
#include "config_unix.h"
#include "config_win32.h"
#include "inet_pton.h"

#define	IN6ADDRSZ	16
#define	INADDRSZ	 4
#define	INT16SZ		 2

#ifndef	AF_INET6
#define	AF_INET6	AF_MAX+1	/* just to let this compile */
#endif

/*
 * WARNING: Don't even consider trying to compile this on a system where
 * sizeof(int) < 4.  sizeof(int) > 4 is fine; all the world's not a VAX.
 */

static int	inet_pton4(const char *src, u_char *dst);
static int	inet_pton6(const char *src, u_char *dst);

/* int
 * inet_pton(af, src, dst)
 *	convert from presentation format (which usually means ASCII printable)
 *	to network format (which is usually some kind of binary format).
 * return:
 *	1 if the address was valid for the specified address family
 *	0 if the address wasn't valid (`dst' is untouched in this case)
 *	-1 if some other error occurred (`dst' is untouched in this case, too)
 * author:
 *	Paul Vixie, 1996.
 */
int
inet_pton(af, src, dst)
	int af;
	const char *src;
	void *dst;
{
	switch (af) {
	case AF_INET:
		return (inet_pton4(src, dst));
	case AF_INET6:
		return (inet_pton6(src, dst));
	default:
		errno = EAFNOSUPPORT;
		return (-1);
	}
	/* NOTREACHED */
}

/* int
 * inet_pton4(src, dst)
 *	like inet_aton() but without all the hexadecimal and shorthand.
 * return:
 *	1 if `src' is a valid dotted quad, else 0.
 * notice:
 *	does not touch `dst' unless it's returning 1.
 * author:
 *	Paul Vixie, 1996.
 */
static int
inet_pton4(src, dst)
	const char *src;
	u_char *dst;
{
	static const char digits[] = "0123456789";
	int saw_digit, octets, ch;
	u_char tmp[INADDRSZ], *tp;

	saw_digit = 0;
	octets = 0;
	*(tp = tmp) = 0;
	while ((ch = *src++) != '\0') {
		const char *pch;

		if ((pch = (char *) strchr(digits, ch)) != NULL) {
			uint8_t new = *tp * 10 + (pch - digits);

			if (new > 255)
				return (0);
			*tp = new;
			if (! saw_digit) {
				if (++octets > 4)
					return (0);
				saw_digit = 1;
			}
		} else if (ch == '.' && saw_digit) {
			if (octets == 4)
				return (0);
			*++tp = 0;
			saw_digit = 0;
		} else
			return (0);
	}
	if (octets < 4)
		return (0);
	/* bcopy(tmp, dst, INADDRSZ); */
	memcpy(dst, tmp, INADDRSZ);
	return (1);
}

/* int
 * inet_pton6(src, dst)
 *	convert presentation level address to network order binary form.
 * return:
 *	1 if `src' is a valid [RFC1884 2.2] address, else 0.
 * notice:
 *	(1) does not touch `dst' unless it's returning 1.
 *	(2) :: in a full address is silently ignored.
 * credit:
 *	inspired by Mark Andrews.
 * author:
 *	Paul Vixie, 1996.
 */
static int
inet_pton6(src, dst)
	const char *src;
	u_char *dst;
{
	static const char xdigits_l[] = "0123456789abcdef",
			  xdigits_u[] = "0123456789ABCDEF";
	u_char tmp[IN6ADDRSZ], *tp, *endp, *colonp;
	const char *xdigits, *curtok;
	int ch, saw_xdigit;
	unsigned val;

	memset((tp = tmp), 0, IN6ADDRSZ);
	endp = tp + IN6ADDRSZ;
	colonp = NULL;
	/* Leading :: requires some special handling. */
	if (*src == ':')
		if (*++src != ':')
			return (0);
	curtok = src;
	saw_xdigit = 0;
	val = 0;
	while ((ch = *src++) != '\0') {
		const char *pch;

		if ((pch = (char *) strchr((xdigits = xdigits_l), ch)) == NULL)
			pch = (char *) strchr((xdigits = xdigits_u), ch);
		if (pch != NULL) {
			val <<= 4;
			val |= (pch - xdigits);
			if (val > 0xffff)
				return (0);
			saw_xdigit = 1;
			continue;
		}
		if (ch == ':') {
			curtok = src;
			if (!saw_xdigit) {
				if (colonp)
					return (0);
				colonp = tp;
				continue;
			}
			if (tp + INT16SZ > endp)
				return (0);
			*tp++ = (u_char) (val >> 8) & 0xff;
			*tp++ = (u_char) val & 0xff;
			saw_xdigit = 0;
			val = 0;
			continue;
		}
		if (ch == '.' && ((tp + INADDRSZ) <= endp) &&
		    inet_pton4(curtok, tp) > 0) {
			tp += INADDRSZ;
			saw_xdigit = 0;
			break;	/* '\0' was seen by inet_pton4(). */
		}
		return (0);
	}
	if (saw_xdigit) {
		if (tp + INT16SZ > endp)
			return (0);
		*tp++ = (u_char) (val >> 8) & 0xff;
		*tp++ = (u_char) val & 0xff;
	}
	if (colonp != NULL) {
		/*
		 * Since some memmove()'s erroneously fail to handle
		 * overlapping regions, we'll do the shift by hand.
		 */
		const int n = tp - colonp;
		int i;

		for (i = 1; i <= n; i++) {
			endp[- i] = colonp[n - i];
			colonp[n - i] = 0;
		}
		tp = endp;
	}
	if (tp != endp)
		return (0);
	/* bcopy(tmp, dst, IN6ADDRSZ); */
	memcpy(dst, tmp, IN6ADDRSZ);
	return (1);
}

#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一二三区在线观看| 伦理电影国产精品| 日韩电影在线一区二区| 丰满白嫩尤物一区二区| 91精品国产品国语在线不卡| 国产精品美女久久久久久久网站| 日韩专区在线视频| 欧洲生活片亚洲生活在线观看| 精品久久久久久无| 日本亚洲电影天堂| 在线观看亚洲精品| 亚洲三级在线观看| 国产福利一区二区三区视频在线 | 久久久亚洲高清| 色狠狠色狠狠综合| 91在线视频免费91| 国产精品一区三区| 欧美日韩免费电影| 欧美日韩精品二区第二页| 精品国产乱码久久久久久1区2区| 国产精品女同互慰在线看| 国产aⅴ综合色| 一区二区在线免费| 日韩女优毛片在线| 99久久99久久综合| 日韩国产精品大片| 亚洲国产精品成人综合色在线婷婷| 91网站最新地址| 日韩精彩视频在线观看| 久久久久久一二三区| 在线欧美一区二区| 国产综合色产在线精品| 亚洲免费av在线| 欧美一区二区三区四区视频| 成人黄色av网站在线| 综合av第一页| 日韩欧美中文字幕公布| 91美女片黄在线| 奇米影视7777精品一区二区| 日韩欧美国产电影| 欧美色视频一区| 成人av资源网站| 三级欧美韩日大片在线看| 欧美高清在线一区二区| 欧美日韩小视频| 成人一道本在线| 九一久久久久久| 亚洲国产精品自拍| 国产欧美一区二区三区在线老狼| 色噜噜狠狠成人中文综合| 国产中文一区二区三区| 亚洲国产精品久久不卡毛片| 国产欧美精品在线观看| 欧美人xxxx| 91美女精品福利| 成人久久18免费网站麻豆| 美女网站在线免费欧美精品| 亚洲一区在线视频| 亚洲视频你懂的| 欧美高清在线视频| 久久久综合激的五月天| 精品免费一区二区三区| 欧美精品亚洲一区二区在线播放| 一本到一区二区三区| 99久久婷婷国产精品综合| 国产精品亚洲成人| 国产精品一区二区91| 久久不见久久见免费视频1 | 久久久久久久久久久黄色| 欧美巨大另类极品videosbest| 色婷婷av一区二区三区之一色屋| 成人高清伦理免费影院在线观看| 国内偷窥港台综合视频在线播放| 日韩国产一区二| 亚洲妇熟xx妇色黄| 樱桃视频在线观看一区| 亚洲精品一二三四区| 亚洲欧洲一区二区在线播放| 精品国产乱码久久久久久老虎| 欧美电影在哪看比较好| 欧美日韩免费观看一区二区三区| 欧美三片在线视频观看| 欧美视频三区在线播放| 欧美精品日韩精品| 欧美一区二区三区在线视频| 7777精品伊人久久久大香线蕉超级流畅| 在线观看日产精品| 欧美裸体bbwbbwbbw| 337p亚洲精品色噜噜| 日韩三级高清在线| 欧美不卡一区二区| 中文字幕乱码一区二区免费| 自拍偷自拍亚洲精品播放| 亚洲一区二区三区四区的| 视频一区视频二区中文| 精品写真视频在线观看| 国产成人av电影在线观看| 99精品一区二区| 欧美性色aⅴ视频一区日韩精品| 欧美乱妇23p| 精品国产成人系列| 18成人在线观看| 午夜精品福利一区二区三区av| 麻豆成人91精品二区三区| 顶级嫩模精品视频在线看| 色av一区二区| 日韩免费高清av| 中文字幕一区免费在线观看| 亚洲成a人片在线观看中文| 蜜臀av一区二区三区| 成人黄色免费短视频| 欧美精品色一区二区三区| ww亚洲ww在线观看国产| 亚洲欧美另类小说视频| 美腿丝袜在线亚洲一区| 国产91精品免费| 欧美日韩国产a| 国产精品少妇自拍| 午夜久久电影网| 成人sese在线| 日韩亚洲电影在线| 亚洲精品日日夜夜| 久久激情综合网| 日本电影欧美片| 欧美国产一区在线| 日韩主播视频在线| 91麻豆精品一区二区三区| 精品国产乱码久久久久久蜜臀| 一区二区三区四区乱视频| 国模一区二区三区白浆| 欧美三级视频在线| 国产精品久久久久久久久果冻传媒| 香蕉成人啪国产精品视频综合网 | 欧美成人一区二区三区在线观看| 中文字幕亚洲欧美在线不卡| 美女网站在线免费欧美精品| 欧洲精品一区二区三区在线观看| 欧美zozozo| 亚洲国产精品久久艾草纯爱| av不卡免费在线观看| 日韩精品一区二区三区视频播放 | 色婷婷精品久久二区二区蜜臂av| 久久色视频免费观看| 肉色丝袜一区二区| 欧美在线观看视频一区二区三区| 国产精品色在线观看| 国产精品一区二区视频| 欧美一区二区免费| 无码av免费一区二区三区试看 | 日韩激情一区二区| 91国偷自产一区二区三区成为亚洲经典| 久久免费精品国产久精品久久久久| 视频一区二区中文字幕| 欧美猛男男办公室激情| 亚洲图片有声小说| 欧洲人成人精品| 亚洲一区二区在线播放相泽| 日本伦理一区二区| 一区二区三区免费看视频| 91香蕉视频污在线| 亚洲视频在线观看三级| 91亚洲精品久久久蜜桃网站| 亚洲欧洲精品一区二区三区 | 91精品国产色综合久久不卡蜜臀| 亚洲男帅同性gay1069| av在线不卡观看免费观看| 国产精品女主播av| 99久久伊人久久99| 亚洲蜜臀av乱码久久精品蜜桃| 色婷婷综合久色| 一区二区三区四区乱视频| 欧美体内she精视频| 亚洲宅男天堂在线观看无病毒| 色视频成人在线观看免| 亚洲激情五月婷婷| 欧美视频三区在线播放| 亚洲成av人片在线| 日韩一二三四区| 国产一区二区电影| 久久人人爽爽爽人久久久| 丁香天五香天堂综合| 国产日韩欧美麻豆| 91小视频免费看| 亚洲一二三区视频在线观看| 在线播放中文字幕一区| 麻豆精品久久久| 欧美经典一区二区三区| 不卡区在线中文字幕| 一区二区三区色| 日韩小视频在线观看专区| 国产自产高清不卡| 亚洲欧美色图小说| 欧美日韩免费一区二区三区| 另类小说综合欧美亚洲| 国产精品人人做人人爽人人添| 一本到高清视频免费精品| 午夜精品久久久久久久99水蜜桃| 欧美成人性战久久| 91丨九色丨蝌蚪富婆spa| 午夜国产精品影院在线观看|