dir_proc.c

来自「早期freebsd实现」· C语言 代码 · 共 56 行

C
56 行
字号
/* @(#)dir_proc.c	2.1 88/08/02 4.0 RPCSRC *//* * dir_proc.c: remote readdir implementation */#include <rpc/rpc.h>#include <sys/dir.h>#include "dir.h"extern int errno;extern char *malloc();extern char *strcpy();readdir_res *readdir_1(dirname)	nametype *dirname;{	DIR *dirp;	struct direct *d;	namelist nl;	namelist *nlp;	static readdir_res res; /* must be static! */		/*	 * Open directory	 */	dirp = opendir(*dirname);	if (dirp == NULL) {		res.errno = errno;		return (&res);	}	/*	 * Free previous result	 */	xdr_free(xdr_readdir_res, &res);	/*	 * Collect directory entries	 */	nlp = &res.readdir_res_u.list;	while (d = readdir(dirp)) {		nl = *nlp = (namenode *) malloc(sizeof(namenode));		nl->name = malloc(strlen(d->d_name)+1);		strcpy(nl->name, d->d_name);		nlp = &nl->next;	}	*nlp = NULL;	/*	 * Return the result	 */	res.errno = 0;	closedir(dirp);	return (&res);}

⌨️ 快捷键说明

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