ga_clone.c

来自「《unix网络编程第二卷》中的源代码」· C语言 代码 · 共 32 行

C
32
字号
#include	"gai_hdr.h"/* * Clone a new addrinfo structure from an existing one. *//* include ga_clone */struct addrinfo *ga_clone(struct addrinfo *ai){	struct addrinfo	*new;	if ( (new = calloc(1, sizeof(struct addrinfo))) == NULL)		return(NULL);	new->ai_next = ai->ai_next;	ai->ai_next = new;	new->ai_flags = 0;				/* make sure AI_CLONE is off */	new->ai_family = ai->ai_family;	new->ai_socktype = ai->ai_socktype;	new->ai_protocol = ai->ai_protocol;	new->ai_canonname = NULL;	new->ai_addrlen = ai->ai_addrlen;	if ( (new->ai_addr = malloc(ai->ai_addrlen)) == NULL)		return(NULL);	memcpy(new->ai_addr, ai->ai_addr, ai->ai_addrlen);	return(new);}/* end ga_clone */

⌨️ 快捷键说明

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