⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chstrtoname.c

📁 早期freebsd实现
💻 C
字号:
/* $Header: CHstrtoname.c,v 2.1 87/03/10 17:22:06 jqj Exp $ *//* contains: * CH_NameToString * CH_StringToName *//* $Log:	CHstrtoname.c,v $ * Revision 2.1  87/03/10  17:22:06  jqj * added CH_NameToString *  * Revision 2.0  85/11/21  07:22:34  jqj * 4.3BSD standard release *  * Revision 1.1  85/03/26  06:27:02  jqj * Initial revision *  * Revision 1.1  85/03/26  06:27:02  jqj * Initial revision *  */#include <xnscourier/Clearinghouse2.h>static char *copy();/* * Given an ObjectName, produce a string in standard format. * N.B. should escape ":" in the components! */char *CH_NameToString(chs_name)	Clearinghouse2_ObjectName chs_name;{	static char buf[84];	extern char *sprintf();	return sprintf(buf,"%.40s:%.20s:%.20s", 			chs_name.object,			chs_name.domain,			chs_name.organization);}/* * Given a string in standard format, return an ObjectName. * If the string is incomplete, e.g. "jqj" or "::cornell-univ", fill  * in default values from defaults. * N.B. should handle escaped ":" in the compenents. */Clearinghouse2_ObjectNameCH_StringToName(str,defaults)	char *str;	Clearinghouse2_ObjectName *defaults;{	register char *s1;	extern char *index();	register Clearinghouse2_ObjectName result;	s1 = result.object = (str ? copy(str) : "");	if (s1 = index(s1,':')) {		*s1 = '\0';		result.domain = ++s1;		if (s1 = index(s1,':')) {			*s1 = '\0';			result.organization = ++s1;		}		else			result.organization = "";	}	else		result.organization = result.domain = "";	/* now fill in defaults if any */	if (defaults == (Clearinghouse2_ObjectName*) NULL)		return(result);	if (*result.object == '\0' && defaults->object != NULL)		result.object = copy(defaults->object);	if (*result.domain == '\0' && defaults->domain != NULL)		result.domain = copy(defaults->domain);	if (*result.organization == '\0' && defaults->organization != NULL)		result.organization = copy(defaults->organization);	return(result);}static char *copy(s)	char *s;{	char *p;	extern char *malloc();	if ((p = malloc(strlen(s) + 1)) == NULL) {		exit(1);	}	(void) strcpy(p, s);	return (p);}

⌨️ 快捷键说明

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