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 + -
显示快捷键?