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

📄 devfile.c

📁 该代码为unix环境高级编程的源代码
💻 C
字号:
#include	"calld.h"static FILE	*fpdev = NULL;static int	devlineno;			/* for error messages */static char	devline[MAXLINE];		/* can't be automatic; dev_next() returns pointers into here *//* Read and break apart a line in the Devices file. */intdev_next(Devices *devptr)		/* pointers in structure are filled in */{	if (fpdev == NULL) {		if ( (fpdev = fopen(DEVICES, "r")) == NULL)			log_sys("can't open %s", DEVICES);		devlineno = 0;	}again:	if (fgets(devline, MAXLINE, fpdev) == NULL)		return(-1);		/* EOF */	devlineno++;	if ( (devptr->type = strtok(devline, WHITE)) == NULL) {		if (devline[0] == '\n')			goto again;		/* ignore empty line */		log_quit("missing `type' in Devices file, line %d", devlineno);	}	if (devptr->type[0] == '#')		goto again;			/* ignore comment line */	if ( (devptr->line = strtok(NULL, WHITE)) == NULL)		log_quit("missing `line' in Devices file, line %d", devlineno);	if ( (devptr->line2 = strtok(NULL, WHITE)) == NULL)		log_quit("missing `line2' in Devices file, line %d", devlineno);	if ( (devptr->class = strtok(NULL, WHITE)) == NULL)		log_quit("missing `class' in Devices file, line %d", devlineno);	if ( (devptr->dialer = strtok(NULL, WHITE)) == NULL)		log_quit("missing `dialer' in Devices file, line %d", devlineno);	return(0);}voiddev_rew(void){	if (fpdev != NULL)		rewind(fpdev);	devlineno = 0;}/* Find a match of type and class */intdev_find(Devices *devptr, const Systems *sysptr){	dev_rew();	while (dev_next(devptr) >= 0) {		if (strcmp(sysptr->type, devptr->type) == 0 &&			strcmp(sysptr->class, devptr->class) == 0)				return(0);		/* found a device match */	}	sprintf(errmsg, "device `%s'/`%s' not found\n",							sysptr->type, sysptr->class);	return(-1);}

⌨️ 快捷键说明

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