diff options
Diffstat (limited to 'lib/librpc/demo/dir/dir_proc.c')
-rw-r--r-- | lib/librpc/demo/dir/dir_proc.c | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/lib/librpc/demo/dir/dir_proc.c b/lib/librpc/demo/dir/dir_proc.c deleted file mode 100644 index 9f7522a..0000000 --- a/lib/librpc/demo/dir/dir_proc.c +++ /dev/null @@ -1,55 +0,0 @@ -/* @(#)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); -} |