.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH tmpnam 3 "17 maja 2025 r." "Linux man\-pages 6.15" .SH NAZWA tmpnam, tmpnam_r \- tworzy nazwę dla pliku tymczasowego .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP,\ \fI\-lc\fP) .SH SKŁADNIA .nf \fB#include \fP .P \fB[[przestarzałe]] char *tmpnam(char *\fP\fIs\fP\fB);\fP \fB[[przestarzałe]] char *tmpnam_r(char *\fP\fIs\fP\fB);\fP .fi .P .RS -4 Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)): .RE .P \fBtmpnam_r\fP() .nf Od glibc 2.19: _DEFAULT_SOURCE Do glibc 2.19 włącznie: _BSD_SOURCE || _SVID_SOURCE .fi .SH OPIS \fBUwaga:\fP proszę unikać korzystania z tych funkcji, należy używać w zamian \fBmkstemp\fP(3) lub \fBtmpfile\fP(3). .P Funkcja \fBtmpnam\fP() 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 \fIs\fP jest NULL, to nazwa jest generowana w wewnętrznym statycznym buforze i może być nadpisana przez następne wywołanie do \fBtmpnam\fP(). Jeśli \fIs\fP nie wynosi NULL, nazwa jest kopiowana do macierzy znaków (długości co najmniej \fIL_tmpnam\fP), na którą wskazuje \fIs\fP, a wartość \fIs\fP jest zwracana w przypadku powodzenia. .P Tworzona nazwa ścieżki ma przedrostek katalogu \fIP_tmpdir\fP (zarówno \fIL_tmpnam\fP jak i \fIP_tmpdir\fP są zdefiniowane w \fI\fP, podobnie jak wspomniane niżej \fBTMP_MAX\fP). .P Funkcja \fBtmpnam_r\fP() przeprowadza to samo zadanie co \fBtmpnam\fP(), lecz zwraca NULL (aby wskazać błąd), jeśli \fIs\fP wynosi NULL. .SH "WARTOŚĆ ZWRACANA" Funkcje zwracają wskaźnik do unikalnej nazwy pliku tymczasowego lub NULL, jeśli nie można wygenerować unikalnej nazwy. .SH BŁĘDY Nie zdefiniowano błędów. .SH ATRYBUTY Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfejs Atrybut Wartość T{ .na .nh \fBtmpnam\fP() T} Bezpieczeństwo wątkowe MT\-niebezpieczne race:tmpnam/!s T{ .na .nh \fBtmpnam_r\fP() T} Bezpieczeństwo wątkowe MT\-bezpieczne .TE .SH STANDARDY .TP \fBtmpnam\fP() C11, POSIX.1\-2008. .TP \fBtmpnam_r\fP() Brak. .SH HISTORIA .TP \fBtmpnam\fP() SVr4, 4.3BSD, C89, POSIX.1\-2001. Przestarzałe w POSIX.1\-2008. .TP \fBtmpnam_r\fP() Solaris. .SH UWAGI Funkcja \fBtmpnam\fP() tworzy odmienny łańcuch za każdym razem, gdy jest wywoływana, aż do \fBTMP_MAX\fP razy. Jeśli jest wywołana więcej niż \fBTMP_MAX\fP razy, zachowanie zależy od implementacji. .P 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ą \fBopen\fP(2) lub utworzył ją jako dowiązanie symboliczne. Może to skutkować lukami bezpieczeństwa. Aby uniknąć takiej ewentualności, proszę stosować znacznik \fBO_EXCL\fP \fBopen\fP(2), aby otworzyć nazwę ścieżki. Jeszcze lepszym rozwiązaniem jest korzystanie z \fBmkstemp\fP(3) lub \fBtmpfile\fP(3). .P Przenośne aplikacje, korzystające z wątków, nie mogą wywołać \fBtmpnam\fP() z argumentem NULL, jeśli zdefiniowano \fB_POSIX_THREADS\fP lub \fB_POSIX_THREAD_SAFE_FUNCTIONS\fP. .SH USTERKI Nigdy nie należy korzystać z tych funkcji. W zamian należy używać \fBmkstemp\fP(3) lub \fBtmpfile\fP(3). .SH "ZOBACZ TAKŻE" \fBmkstemp\fP(3), \fBmktemp\fP(3), \fBtempnam\fP(3), \fBtmpfile\fP(3) .PP .SH TŁUMACZENIE Tłumaczenie niniejszej strony podręcznika: Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .