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

📄 dirread.c

📁 著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是bell实验室开发的Unix后继者。
💻 C
字号:
#include <u.h>#include <libc.h>#include <auth.h>#include <fcall.h>#define	N	50#define	SZ	(N*DIRLEN)longdirread(int f, Dir *dbuf, long count){	char *buf;	int c, n, i, r;	n = 0;	buf = malloc(SZ);	if(buf == nil)		return -1;	count = (count/sizeof(Dir)) * DIRLEN;	while(n < count) {		c = count - n;		if(c > SZ)			c = SZ;		r = read(f, buf, c);		if(r == 0)			break;		if(r < 0 || r % DIRLEN) {			free(buf);			return -1;		}		for(i=0; i<r; i+=DIRLEN) {			convM2D(buf+i, dbuf);			dbuf++;		}		n += r;		if(r != c)			break;	}	free(buf);	return (n/DIRLEN) * sizeof(Dir);}

⌨️ 快捷键说明

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