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

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

?? inet_pton.c

?? MPEG-4編解碼的實現(包括MPEG4視音頻編解碼)
?? C
字號:
/* 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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产91久久久久久久妲己| 久久99精品国产麻豆婷婷洗澡| 亚洲嫩草精品久久| 成人sese在线| 国产午夜精品久久久久久久| 激情综合色综合久久| 91麻豆精品国产91久久久使用方法| 亚洲综合另类小说| 欧美三级电影一区| 性欧美疯狂xxxxbbbb| 欧美精品成人一区二区三区四区| 玉米视频成人免费看| 欧美三区在线视频| 精品在线一区二区三区| 国产三级一区二区| 色88888久久久久久影院野外| 亚洲一级片在线观看| 精品成人a区在线观看| 日本一区二区三区在线观看| 亚洲在线中文字幕| 国内精品免费在线观看| 91高清视频免费看| 亚洲综合色自拍一区| www..com久久爱| 《视频一区视频二区| 色婷婷av一区| 国产麻豆视频一区二区| 欧美国产欧美综合| 在线看国产日韩| 韩国三级电影一区二区| 中文字幕第一区| 欧美日韩精品欧美日韩精品一综合| 美女国产一区二区| 亚洲精品美国一| 日韩欧美在线不卡| 成人av第一页| 黑人巨大精品欧美一区| 一区二区三区在线看| 91精品国产aⅴ一区二区| 国产精品1区2区3区| 亚洲精品老司机| 久久伊人中文字幕| 欧美高清视频不卡网| 国产成人av电影在线观看| 亚洲女同ⅹxx女同tv| 精品三级在线观看| 欧美日韩五月天| 99re成人精品视频| 黑人巨大精品欧美一区| 亚洲国产精品尤物yw在线观看| 久久综合久色欧美综合狠狠| 欧洲一区二区三区免费视频| 激情综合网激情| 久久99在线观看| 三级在线观看一区二区| 亚洲精品五月天| 一区二区三区四区视频精品免费 | 欧美色综合天天久久综合精品| 色婷婷av一区| 69久久夜色精品国产69蝌蚪网| 欧美日韩成人高清| 69久久99精品久久久久婷婷| 日韩欧美国产成人一区二区| 2023国产精品视频| 最新日韩av在线| 亚洲高清免费在线| 韩国三级中文字幕hd久久精品| 成人午夜电影网站| 波多野结衣的一区二区三区| 欧美综合视频在线观看| 欧美精品高清视频| 欧美大片顶级少妇| 亚洲精品乱码久久久久久日本蜜臀| 亚洲午夜国产一区99re久久| 久久99精品视频| 不卡欧美aaaaa| 日韩一区二区三区在线| 国产午夜精品在线观看| 午夜精彩视频在线观看不卡| 成人一道本在线| 777奇米四色成人影色区| 中文字幕成人网| 久久国产精品99精品国产| 99视频精品在线| 欧美一区二区不卡视频| 欧美激情一区二区在线| 午夜免费久久看| 国产盗摄一区二区三区| 97久久精品人人做人人爽| 欧美大黄免费观看| 中文字幕一区二区三区av| 日韩制服丝袜av| 91国在线观看| 久久久99免费| 玖玖九九国产精品| 色8久久精品久久久久久蜜| 精品国产髙清在线看国产毛片| 亚洲人被黑人高潮完整版| 久久丁香综合五月国产三级网站| 色呦呦一区二区三区| 国产精品三级久久久久三级| 麻豆中文一区二区| 在线观看欧美精品| 亚洲品质自拍视频网站| 成人毛片视频在线观看| 精品对白一区国产伦| 蜜桃免费网站一区二区三区| 91福利视频久久久久| 一区二区三区四区av| 99免费精品视频| 亚洲欧美激情在线| 色综合久久久久综合99| 日韩伦理av电影| 色美美综合视频| 亚洲人成伊人成综合网小说| 成人黄色综合网站| 一区二区视频在线| 欧美影院精品一区| 日本视频免费一区| 精品剧情在线观看| 高清免费成人av| 亚洲欧美偷拍三级| 91精品欧美一区二区三区综合在 | 宅男在线国产精品| 成人av电影在线| 日韩国产在线观看一区| 久久久www免费人成精品| 色噜噜夜夜夜综合网| 麻豆精品蜜桃视频网站| 亚洲天堂免费看| 亚洲精品一线二线三线| 91黄视频在线| av高清久久久| 国产精品夜夜嗨| 精品一区二区在线视频| 亚洲乱码日产精品bd| 久久综合久久综合久久| 欧美一区二区三区性视频| 99精品国产热久久91蜜凸| 国产不卡高清在线观看视频| 视频一区二区三区入口| 亚洲私人影院在线观看| 久久精品欧美日韩精品| 精品日韩欧美一区二区| 欧美日韩国产影片| 色婷婷综合久久久中文一区二区 | 色婷婷亚洲婷婷| www.欧美精品一二区| 成人动漫中文字幕| 风间由美性色一区二区三区| 成人精品小蝌蚪| 99精品欧美一区二区三区综合在线| 丁香另类激情小说| 国产99精品国产| 国产精品一二三区| 成人手机电影网| 色偷偷久久人人79超碰人人澡| 99精品视频一区二区三区| 一本大道久久a久久综合| 日本高清视频一区二区| 欧美性生活久久| 日韩免费电影一区| 国产免费成人在线视频| 综合亚洲深深色噜噜狠狠网站| 亚洲女与黑人做爰| 日韩国产欧美一区二区三区| 久久国产成人午夜av影院| a级精品国产片在线观看| 欧美人动与zoxxxx乱| www亚洲一区| 偷偷要91色婷婷| 99精品视频免费在线观看| 色婷婷精品大视频在线蜜桃视频| 欧美日韩视频一区二区| 久久久综合网站| 久久综合九色综合97婷婷 | 欧美人与禽zozo性伦| 久久亚洲一级片| 日韩激情在线观看| 日本韩国欧美在线| 国产精品国产成人国产三级| 日韩高清一级片| 91污片在线观看| 中文字幕av一区二区三区高| 夜夜嗨av一区二区三区网页| 黄色成人免费在线| 在线观看免费一区| 成人欧美一区二区三区| 久久99国产精品麻豆| 欧美日韩国产一级片| 国产精品丝袜91| 国产真实乱偷精品视频免| 欧美日韩一区二区三区高清| 一区在线观看免费| 国产一区二区三区免费| 欧美日韩精品是欧美日韩精品| 久久久精品一品道一区| 免费观看日韩电影| 欧美日韩不卡在线| 亚洲国产欧美一区二区三区丁香婷|