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

📄 local.c

📁 早期freebsd实现
💻 C
字号:
/* pathalias -- by steve bellovin, as told to peter honeyman */#ifndef lintstatic char	*sccsid = "@(#)local.c	9.3 91/06/11";#endif /* lint */#include "config.h"#include STDIO_H#ifdef	UNAME#include <sys/utsname.h>char	*local(){	static struct utsname utsname;	extern int uname();	(void) uname(&utsname);	return(utsname.nodename);}#else /* !UNAME */char	*local(){	static char lname[64];	extern int gethostname();	(void) gethostname(lname, (int) sizeof(lname));	lname[sizeof(lname)] = 0;	return(lname);}#ifndef GETHOSTNAMESTATIC intgethostname(name, len)	char *name;	int len;{	FILE *whoami;	char *ptr;	extern int pclose();	extern FILE *fopen(), *popen();	*name = '\0';	/* try /etc/whoami */	if ((whoami = fopen("/etc/whoami", "r")) != 0) {		(void) fgets(name, len, whoami);		(void) fclose(whoami);		if ((ptr = index(name, '\n')) != 0)			*ptr = '\0';	}	if (*name)		return 0;	/* try /usr/include/whoami.h */	if ((whoami = fopen("/usr/include/whoami.h", "r")) != 0) {		while (!feof(whoami)) {			char	buf[100];			if (fgets(buf, 100, whoami) == 0)				break;			if (sscanf(buf, "#define sysname \"%[^\"]\"", name))				break;		}		(void) fclose(whoami);		if (*name)			return 0;	}	/* ask uucp */	if ((whoami = popen("uuname -l", "r")) != 0) {		(void) fgets(name, len, whoami);		(void) pclose(whoami);		if ((ptr = index(name, '\n')) != 0)			*ptr = '\0';	}	if (*name)		return 0;		/* aw hell, i give up!  is this really unix? */	return -1;}#endif /* GETHOSTNAME */#endif /* UNAME */

⌨️ 快捷键说明

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