| 
									
										
										
										
											2002-06-22 05:58:14 +00:00
										 |  |  | #include <dirent.h>
 | 
					
						
							|  |  |  | #include <errno.h>
 | 
					
						
							|  |  |  | #include <errno.h>
 | 
					
						
							|  |  |  | #include <stdio.h>
 | 
					
						
							|  |  |  | #include <stdlib.h>
 | 
					
						
							| 
									
										
										
										
											2002-12-14 19:49:13 +00:00
										 |  |  | #include <unistd.h>
 | 
					
						
							| 
									
										
										
										
											2002-06-22 05:58:14 +00:00
										 |  |  | #include <sys/types.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | int | 
					
						
							|  |  |  | main (void) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |   DIR *dirp; | 
					
						
							|  |  |  |   struct dirent* ent; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* open a dir stream */ | 
					
						
							|  |  |  |   dirp = opendir ("/tmp"); | 
					
						
							|  |  |  |   if (dirp == NULL) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |       if (errno == ENOENT) | 
					
						
							|  |  |  | 	exit (0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       perror ("opendir"); | 
					
						
							|  |  |  |       exit (1); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-12-05 10:45:13 +00:00
										 |  |  |   /* close the directory file descriptor, making it invalid */ | 
					
						
							|  |  |  |   if (close (dirfd (dirp)) != 0) | 
					
						
							| 
									
										
										
										
											2002-06-22 05:58:14 +00:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2002-12-05 10:45:13 +00:00
										 |  |  |       puts ("could not close directory file descriptor"); | 
					
						
							|  |  |  |       /* This is not an error.  It is not guaranteed this is possible.  */ | 
					
						
							|  |  |  |       return 0; | 
					
						
							| 
									
										
										
										
											2002-06-22 05:58:14 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   ent = readdir (dirp); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return ent != NULL || errno != EBADF; | 
					
						
							|  |  |  | } |