diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/stdio/tempnam.c | 8 | ||||
| -rw-r--r-- | src/stdio/tmpnam.c | 8 | 
2 files changed, 6 insertions, 10 deletions
diff --git a/src/stdio/tempnam.c b/src/stdio/tempnam.c index 565df6b6..0c65b1f0 100644 --- a/src/stdio/tempnam.c +++ b/src/stdio/tempnam.c @@ -6,7 +6,6 @@  #include <string.h>  #include <stdlib.h>  #include "syscall.h" -#include "kstat.h"  #define MAXTRIES 100 @@ -37,11 +36,10 @@ char *tempnam(const char *dir, const char *pfx)  	for (try=0; try<MAXTRIES; try++) {  		__randname(s+l-6); -#ifdef SYS_lstat -		r = __syscall(SYS_lstat, s, &(struct kstat){0}); +#ifdef SYS_readlink +		r = __syscall(SYS_readlink, s, (char[1]){0}, 1);  #else -		r = __syscall(SYS_fstatat, AT_FDCWD, s, -			&(struct kstat){0}, AT_SYMLINK_NOFOLLOW); +		r = __syscall(SYS_readlinkat, AT_FDCWD, s, (char[1]){0}, 1);  #endif  		if (r == -ENOENT) return strdup(s);  	} diff --git a/src/stdio/tmpnam.c b/src/stdio/tmpnam.c index d667a836..71dc8bb1 100644 --- a/src/stdio/tmpnam.c +++ b/src/stdio/tmpnam.c @@ -5,7 +5,6 @@  #include <string.h>  #include <stdlib.h>  #include "syscall.h" -#include "kstat.h"  #define MAXTRIES 100 @@ -17,11 +16,10 @@ char *tmpnam(char *buf)  	int r;  	for (try=0; try<MAXTRIES; try++) {  		__randname(s+12); -#ifdef SYS_lstat -		r = __syscall(SYS_lstat, s, &(struct kstat){0}); +#ifdef SYS_readlink +		r = __syscall(SYS_readlink, s, (char[1]){0}, 1);  #else -		r = __syscall(SYS_fstatat, AT_FDCWD, s, -			&(struct kstat){0}, AT_SYMLINK_NOFOLLOW); +		r = __syscall(SYS_readlinkat, AT_FDCWD, s, (char[1]){0}, 1);  #endif  		if (r == -ENOENT) return strcpy(buf ? buf : internal, s);  	}  | 
