24 lines
343 B
C
24 lines
343 B
C
|
#include <sys/cdefs.h>
|
||
|
#include "namespace.h"
|
||
|
#include <lib.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <unistd.h>
|
||
|
|
||
|
PUBLIC int closefrom(int fd)
|
||
|
{
|
||
|
int f, ok = 0, e;
|
||
|
for(f = fd; f < __MINIX_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;
|
||
|
}
|