Provided by: manpages-pl-dev_4.28.0-2_all 

NAZWA
tmpnam, tmpnam_r - tworzy nazwę dla pliku tymczasowego
BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)
SKŁADNIA
#include <stdio.h>
[[przestarzałe]] char *tmpnam(char *s);
[[przestarzałe]] char *tmpnam_r(char *s);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
tmpnam_r()
Od glibc 2.19:
_DEFAULT_SOURCE
Do glibc 2.19 włącznie:
_BSD_SOURCE || _SVID_SOURCE
OPIS
Uwaga: proszę unikać korzystania z tych funkcji, należy używać w zamian mkstemp(3) lub tmpfile(3).
Funkcja tmpnam() zwraca wskaźnik do łańcucha będącego prawidłową nazwą pliku i takiego, że plik o tej
samej nazwie nie istnieje w jakimś punkcie czasu, co powoduje że naiwni programiści mogą uznać go za
odpowiednią nazwę dla pliku tymczasowego. Jeśli argumentem s jest NULL, to nazwa jest generowana w
wewnętrznym statycznym buforze i może być nadpisana przez następne wywołanie do tmpnam(). Jeśli s nie
wynosi NULL, nazwa jest kopiowana do macierzy znaków (długości co najmniej L_tmpnam), na którą wskazuje
s, a wartość s jest zwracana w przypadku powodzenia.
Tworzona nazwa ścieżki ma przedrostek katalogu P_tmpdir (zarówno L_tmpnam jak i P_tmpdir są zdefiniowane
w <stdio.h>, podobnie jak wspomniane niżej TMP_MAX).
Funkcja tmpnam_r() przeprowadza to samo zadanie co tmpnam(), lecz zwraca NULL (aby wskazać błąd), jeśli s
wynosi NULL.
WARTOŚĆ ZWRACANA
Funkcje zwracają wskaźnik do unikalnej nazwy pliku tymczasowego lub NULL, jeśli nie można wygenerować
unikalnej nazwy.
BŁĘDY
Nie zdefiniowano błędów.
ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
┌────────────────────────────────────────────┬────────────────────────┬─────────────────────────────────┐
│ Interfejs │ Atrybut │ Wartość │
├────────────────────────────────────────────┼────────────────────────┼─────────────────────────────────┤
│ tmpnam() │ Bezpieczeństwo wątkowe │ MT-niebezpieczne race:tmpnam/!s │
├────────────────────────────────────────────┼────────────────────────┼─────────────────────────────────┤
│ tmpnam_r() │ Bezpieczeństwo wątkowe │ MT-bezpieczne │
└────────────────────────────────────────────┴────────────────────────┴─────────────────────────────────┘
STANDARDY
tmpnam()
C11, POSIX.1-2008.
tmpnam_r()
Brak.
HISTORIA
tmpnam()
SVr4, 4.3BSD, C89, POSIX.1-2001. Przestarzałe w POSIX.1-2008.
tmpnam_r()
Solaris.
UWAGI
Funkcja tmpnam() tworzy odmienny łańcuch za każdym razem, gdy jest wywoływana, aż do TMP_MAX razy. Jeśli
jest wywołana więcej niż TMP_MAX razy, zachowanie zależy od implementacji.
Choć funkcje te tworzą nazwy, które są trudne do odgadnięcia, mimo to możliwe jest, aby pomiędzy czasem
gdy nazwa ścieżki zostanie zwrócona, a czasem gdy program ją otworzy, inny program utworzył tę samą nazwę
ścieżki za pomocą open(2) lub utworzył ją jako dowiązanie symboliczne. Może to skutkować lukami
bezpieczeństwa. Aby uniknąć takiej ewentualności, proszę stosować znacznik O_EXCL open(2), aby otworzyć
nazwę ścieżki. Jeszcze lepszym rozwiązaniem jest korzystanie z mkstemp(3) lub tmpfile(3).
Przenośne aplikacje, korzystające z wątków, nie mogą wywołać tmpnam() z argumentem NULL, jeśli
zdefiniowano _POSIX_THREADS lub _POSIX_THREAD_SAFE_FUNCTIONS.
USTERKI
Nigdy nie należy korzystać z tych funkcji. W zamian należy używać mkstemp(3) lub tmpfile(3).
ZOBACZ TAKŻE
mkstemp(3), mktemp(3), tempnam(3), tmpfile(3)
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
Linux man-pages 6.9.1 2 maja 2024 r. tmpnam(3)