1*433d6423SLionel Sambuc #include <sys/cdefs.h> 2*433d6423SLionel Sambuc #include "namespace.h" 3*433d6423SLionel Sambuc #include <lib.h> 4*433d6423SLionel Sambuc #include <stdlib.h> 5*433d6423SLionel Sambuc #include <unistd.h> 6*433d6423SLionel Sambuc closefrom(int fd)7*433d6423SLionel Sambucint closefrom(int fd) 8*433d6423SLionel Sambuc { 9*433d6423SLionel Sambuc int f, ok = 0, e = 0; 10*433d6423SLionel Sambuc for(f = fd; f < OPEN_MAX; f++) { 11*433d6423SLionel Sambuc if(close(f) >= 0) 12*433d6423SLionel Sambuc ok = 1; 13*433d6423SLionel Sambuc else 14*433d6423SLionel Sambuc e = errno; 15*433d6423SLionel Sambuc } 16*433d6423SLionel Sambuc 17*433d6423SLionel Sambuc if(ok) 18*433d6423SLionel Sambuc return 0; 19*433d6423SLionel Sambuc 20*433d6423SLionel Sambuc /* all failed - return last valid error */ 21*433d6423SLionel Sambuc errno = e; 22*433d6423SLionel Sambuc return -1; 23*433d6423SLionel Sambuc } 24