24 lines
		
	
	
		
			332 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			332 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <sys/cdefs.h>
 | |
| #include "namespace.h"
 | |
| #include <lib.h>
 | |
| #include <stdlib.h>
 | |
| #include <unistd.h>
 | |
| 
 | |
| int closefrom(int fd)
 | |
| {
 | |
| 	int f, ok = 0, e = 0;
 | |
| 	for(f = fd; f < OPEN_MAX; f++) {
 | |
| 		if(close(f) >= 0)
 | |
| 			ok = 1;
 | |
| 		else
 | |
| 			e = errno;
 | |
| 	}
 | |
| 
 | |
| 	if(ok)
 | |
| 		return 0;
 | |
| 
 | |
| 	/* all failed - return last valid error */
 | |
| 	errno = e;
 | |
| 	return -1;
 | |
| }
 | 
