/
clang
/
musl
Обзор
Документация
Войти
/
clang
/
musl
Код
Вики
Пакеты
0
Релизы
0
Аналитика
master
src/stdio/tmpfile.c
29 строк
514 B
Rich Felker
remove LFS64 symbol aliases; replace with dynamic linker remapping
19 окт 2022, 21:01
19 окт 2022, 21:01
246f1c8
Код
Авторство
О чём код?
#include <stdio.h> #include <fcntl.h> #include <stdlib.h> #include "stdio_impl.h" #define MAXTRIES 100 FILE *tmpfile(void) { char s[] = "/tmp/tmpfile_XXXXXX"; int fd; FILE *f; int try; for (try=0; try<MAXTRIES; try++) { __randname(s+13); fd = sys_open(s, O_RDWR|O_CREAT|O_EXCL, 0600); if (fd >= 0) { #ifdef SYS_unlink __syscall(SYS_unlink, s); #else __syscall(SYS_unlinkat, AT_FDCWD, s, 0); #endif f = __fdopen(fd, "w+"); if (!f) __syscall(SYS_close, fd); return f; } } return 0; }