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

📄 rdbio.c

📁 这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易于我们学习和理解
💻 C
字号:
#include <u.h>#include <libc.h>#include <bio.h>#include <ctype.h>#include "authcmdlib.h"voidclrbio(Acctbio *a){	int i;	if(a->user)		free(a->user);	if(a->postid)		free(a->postid);	if(a->name)		free(a->name);	if(a->dept)		free(a->dept);	for(i = 0; i < Nemail; i++)		if(a->email[i])			free(a->email[i]);	memset(a, 0, sizeof(Acctbio));}voidrdbio(char *file, char *user, Acctbio *a){	int i,n;	Biobuf *b;	char *p;	char *field[20];	memset(a, 0, sizeof(Acctbio));	b = Bopen(file, OREAD);	if(b == 0)		return;	while(p = Brdline(b, '\n')){		p[Blinelen(b)-1] = 0;		n = getfields(p, field, nelem(field), 0, "|");		if(n < 4)			continue;		if(strcmp(field[0], user) != 0)			continue;		clrbio(a);		a->postid = strdup(field[1]);		a->name = strdup(field[2]);		a->dept = strdup(field[3]);		if(n-4 >= Nemail)			n = Nemail-4;		for(i = 4; i < n; i++)			a->email[i-4] = strdup(field[i]);	}	a->user = strdup(user);	Bterm(b);}

⌨️ 快捷键说明

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