X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fstdio%2Ftmpfile.c;h=2fa8803fc2312c64465d83819f4e15f452909a75;hb=0e5234807dcdc76c43f9313c6ba9e2b7da408d8c;hp=18c232f7615d5e31463d367df29f01f40590fc93;hpb=b172dc8b58a5db37d61cb4718cd42628126710f1;p=musl diff --git a/src/stdio/tmpfile.c b/src/stdio/tmpfile.c index 18c232f7..2fa8803f 100644 --- a/src/stdio/tmpfile.c +++ b/src/stdio/tmpfile.c @@ -1,27 +1,29 @@ #include #include -#include +#include #include "stdio_impl.h" #define MAXTRIES 100 FILE *tmpfile(void) { - char buf[L_tmpnam], *s; + char s[] = "/tmp/tmpfile_XXXXXX"; int fd; FILE *f; int try; for (try=0; try= 0) { +#ifdef SYS_unlink + __syscall(SYS_unlink, s); +#else + __syscall(SYS_unlinkat, AT_FDCWD, s, 0); +#endif f = __fdopen(fd, "w+"); - syscall(SYS_unlink, s); + if (!f) __syscall(SYS_close, fd); return f; } } return 0; } - -LFS64(tmpfile);