.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (c) 1999 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" 2003-11-15, aeb, added tmpnam_r
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH tmpnam 3 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.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 <stdio.h>\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<stdio.h>\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 <michal.kulach@gmail.com>
.
.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 .
