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

📄 zgetsender.c

📁 Linux下的多协议即时通讯程序源代码
💻 C
字号:
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZGetSender.c function. * *	Created by:	Robert French * *	Copyright (c) 1987, 1991 by the Massachusetts Institute of Technology. *	For copying and distribution information, see the file *	"mit-copyright.h".  */#include "internal.h"#ifndef WIN32#include <pwd.h>#endifchar *ZGetSender(){	struct passwd *pw;#ifdef ZEPHYR_USES_KERBEROS	char pname[ANAME_SZ];	char pinst[INST_SZ];	char prealm[REALM_SZ];	static char sender[ANAME_SZ+INST_SZ+REALM_SZ+3] = "";	long int kerror;#else	static char sender[128] = "";#endif#ifdef WIN32	unsigned long sender_size = sizeof(sender) - 1;#endif#ifdef ZEPHYR_USES_KERBEROS	if ((kerror = krb_get_tf_fullname((char *)TKT_FILE, pname, pinst, prealm)) == KSUCCESS)	{		sprintf(sender, "%s%s%s@%s", pname, (pinst[0] ? "." : ""), pinst, prealm);		return sender;	}#endif#ifdef WIN32	GetUserName(sender, &sender_size);#else	/* XXX a uid_t is a u_short (now),  but getpwuid	 * wants an int. AARGH! */	pw = getpwuid((int) getuid());	if (!pw)		return ("unknown");	sprintf(sender, "%s@%s", pw->pw_name, __Zephyr_realm);#endif	return sender;}

⌨️ 快捷键说明

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