mirror of git://sourceware.org/git/glibc.git
				
				
				
			
		
			
				
	
	
		
			39 lines
		
	
	
		
			688 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			688 B
		
	
	
	
		
			C
		
	
	
	
| #include <dirent.h>
 | |
| #include <errno.h>
 | |
| #include <errno.h>
 | |
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| #include <unistd.h>
 | |
| #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);
 | |
|     }
 | |
| 
 | |
|   /* close the directory file descriptor, making it invalid */
 | |
|   if (close (dirfd (dirp)) != 0)
 | |
|     {
 | |
|       puts ("could not close directory file descriptor");
 | |
|       /* This is not an error.  It is not guaranteed this is possible.  */
 | |
|       return 0;
 | |
|     }
 | |
| 
 | |
|   ent = readdir (dirp);
 | |
| 
 | |
|   return ent != NULL || errno != EBADF;
 | |
| }
 |