decodenetnum.c

来自「网络时间协议NTP 源码 版本v4.2.0b 该源码用于linux平台下」· C语言 代码 · 共 40 行

C
40
字号
/* * decodenetnum - return a net number (this is crude, but careful) */#include <sys/types.h>#include <ctype.h>#include <sys/socket.h>#include <netinet/in.h>#include "ntp_stdlib.h"intdecodenetnum(	const char *num,	struct sockaddr_storage *netnum	){	struct addrinfo hints, *ai = NULL;	register int err, i;	register const char *cp;	char name[80];	cp = num;	if (*cp == '[') {		cp++;		for (i = 0; *cp != ']'; cp++, i++)			name[i] = *cp;	name[i] = '\0';	num = name; 	}	memset(&hints, 0, sizeof(struct addrinfo));	hints.ai_flags = AI_NUMERICHOST;	err = getaddrinfo(num, NULL, &hints, &ai);	if (err != 0)		return 0;	memcpy(netnum, (struct sockaddr_storage *)ai->ai_addr, ai->ai_addrlen); 	freeaddrinfo(ai);	return 1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?