|
|
1.1 ! root 1: /* ! 2: closedir -- close a directory stream ! 3: ! 4: last edit: 25-Apr-1987 D A Gwyn ! 5: */ ! 6: ! 7: #ifdef COHERENT ! 8: #include <errno.h> ! 9: #else ! 10: #include <sys/errno.h> ! 11: #endif ! 12: ! 13: #include <sys/types.h> ! 14: #include "dirent.h" ! 15: ! 16: typedef char *pointer; /* (void *) if you have it */ ! 17: ! 18: extern void free(); ! 19: extern int close(); ! 20: ! 21: extern int errno; ! 22: ! 23: #ifndef NULL ! 24: #define NULL 0 ! 25: #endif ! 26: ! 27: int ! 28: closedir( dirp ) ! 29: register DIR *dirp; /* stream from opendir() */ ! 30: { ! 31: if ( dirp == NULL || dirp->dd_buf == NULL ) ! 32: { ! 33: errno = EFAULT; ! 34: return -1; /* invalid pointer */ ! 35: } ! 36: ! 37: free( (pointer)dirp->dd_buf ); ! 38: free( (pointer)dirp ); ! 39: return close( dirp->dd_fd ); ! 40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.