X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fstdio%2Ftmpfile.c;h=525090aa066d49cc20a4a762b17a4d54a3ec1b4f;hb=18fbc7e4fa254696eb024f56ee74704805925fad;hp=a6b72236d2463d8edbcd8b1ef5d24ea030818307;hpb=a88edbec15abe3c8e08d5065d8bea399898e757c;p=musl diff --git a/src/stdio/tmpfile.c b/src/stdio/tmpfile.c index a6b72236..525090aa 100644 --- a/src/stdio/tmpfile.c +++ b/src/stdio/tmpfile.c @@ -1,23 +1,28 @@ #include #include -#include #include "stdio_impl.h" #define MAXTRIES 100 +char *__randname(char *); + 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+"); - remove(s); + if (!f) __syscall(SYS_close, fd); return f; } }