dnparse.c

来自「TCP-IP红宝书源代码」· C语言 代码 · 共 37 行

C
37
字号
/* dnparse.c - dnparse */

#include <conf.h>
#include <kernel.h>
#include <network.h>
#include <ctype.h>

/*------------------------------------------------------------------------
 *  dnparse  -  parse foreign address specification; get IP and port #s
 *------------------------------------------------------------------------
 */
int
dnparse(char *fspec, IPaddr *paddr, unsigned short *pport)
{
	int	i;
	char	ch;

	if (fspec == ANYFPORT) {
		*pport = 0;
		return OK;
	}
	/* parse forms like 192.5.48.30:3 into (ip-address,port)	*/

	*paddr = dot2ip(fspec);
	fspec = index(fspec, ':');
	if (fspec == 0 || *fspec != ':')
		return SYSERR;
	fspec++;
	i = 0;
	while (isdigit(ch = *fspec++))
		i = 10*i + (ch - '0');
	if (i==0 || ch!='\0')
		return SYSERR;
	*pport = i;
	return OK;
}

⌨️ 快捷键说明

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