📄 dir_proc.c
字号:
/* @(#)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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -