ctermid.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 42 行

C
42
字号
#ifndef lintstatic	char	*sccsid = "@(#)ctermid.c	4.1	(ULTRIX)	7/3/90";#endif/*	Modification History						 *									 *	001 - Mark A. Parenti						 *		Add call to getsysinfo() to get controlling terminal device. *		If no controlling terminal and in POSIX mode, return NULL *		string. * *	002 - Mark A. Parenti *		Change progenv to short because kernel only copyout's a short. * *//*LINTLIBRARY*/#include <stdio.h>#include <sys/types.h>#include <sys/sysinfo.h>#include <sys/exec.h>extern char *strcpy();static char res[L_ctermid];char *ctermid(s)register char *s;{short	progenv;dev_t	t_dev;	if( getsysinfo(GSI_PROG_ENV, &progenv, sizeof(progenv), 0, 0, 0) < 1 )		progenv = A_BSD;	if( (getsysinfo(GSI_TTYP, &t_dev, sizeof(dev_t), 0, 0, 0) < 1) && 			(progenv == A_POSIX) ){		return (strcpy(s != NULL ? s : res, ""));	}	else {		return (strcpy(s != NULL ? s : res, "/dev/tty"));	}}

⌨️ 快捷键说明

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