From 3a3fc76c8c17750faeae030f22d95734e9a7576c Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Wed, 24 Sep 2014 17:17:11 +0200 Subject: [PATCH] Remove tmpnam(3). --- libc/Makefile | 1 - libc/include/stdio.h | 5 ++--- libc/stdio/tmpnam.cpp | 41 ----------------------------------------- 3 files changed, 2 insertions(+), 45 deletions(-) delete mode 100644 libc/stdio/tmpnam.cpp diff --git a/libc/Makefile b/libc/Makefile index 02be593a..86e335f3 100644 --- a/libc/Makefile +++ b/libc/Makefile @@ -437,7 +437,6 @@ stdio/rename.o \ stdio/scanf.o \ stdio/stdio.o \ stdio/tmpfile.o \ -stdio/tmpnam.o \ stdio/vfprintf.o \ stdio/vprintf.o \ stdio/vscanf.o \ diff --git a/libc/include/stdio.h b/libc/include/stdio.h index fa2d404e..a635265f 100644 --- a/libc/include/stdio.h +++ b/libc/include/stdio.h @@ -84,7 +84,7 @@ typedef __off_t fpos_t; #if __USE_SORTIX || __USE_POSIX /* TODO: Implement L_ctermid */ -#define L_tmpnam 128 +/* L_tmpnam will not be implemented. */ #endif /* The possibilities for the third argument to `setvbuf'. */ @@ -101,7 +101,6 @@ typedef __off_t fpos_t; #endif #if __USE_SORTIX || __USE_POSIX -/* Default path prefix for `tempnam' and `tmpnam'. */ #define P_tmpdir "/tmp" #endif @@ -212,7 +211,7 @@ int getc_unlocked(FILE* stream); int getchar_unlocked(void); int putc_unlocked(int c, FILE* stream); int putchar_unlocked(int c); -char* tmpnam(char* s); +/* tmpnam will not be implemented. */ #endif #if __USE_POSIX diff --git a/libc/stdio/tmpnam.cpp b/libc/stdio/tmpnam.cpp deleted file mode 100644 index 2b336f40..00000000 --- a/libc/stdio/tmpnam.cpp +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - - Copyright(C) Jonas 'Sortie' Termansen 2013. - - This file is part of the Sortix C Library. - - The Sortix C Library is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or (at your - option) any later version. - - The Sortix C Library is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with the Sortix C Library. If not, see . - - stdio/tmpnam.cpp - Create path names for temporary files. - -*******************************************************************************/ - -#include -#include -#include - -// TODO: Please remove this function and P_tmpdir and L_tmpnam once they have -// been removed from the C, C++ and POSIX standards. -extern "C" char* tmpnam(char* s) -{ - static char static_string[L_tmpnam+1]; - if ( !s ) - s = static_string; - static int current_index = 0; - // TODO: This isn't thread safe! - snprintf(s, L_tmpnam, "%s/tmpnam.pid%ju.%i", P_tmpdir, (uintmax_t) getpid(), - current_index++); - return s; -}