tmpnam(3)

NUME
tmpnam, tmpnam_r - creează un nume pentru un fișier temporar

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <stdio.h>

[[depreciat]] char *tmpnam(char *s);
[[depreciat]] char *tmpnam_r(char *s);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

tmpnam_r()
    Începând cu glibc 2.19:
        _DEFAULT_SOURCE
    Până la glibc 2.19 inclusiv:
        _BSD_SOURCE || _SVID_SOURCE

DESCRIERE
Notă: evitați utilizarea acestor funcții; utilizați în schimb mkstemp(3) sau tmpfile(3).

Funcția tmpnam() returnează un indicator către un șir de caractere care este un nume de fișier valid și care este de așa natură încât un fișier cu acest nume nu a existat la un moment dat, astfel încât programatorii naivi pot considera că este un nume adecvat pentru un fișier temporar. În cazul în care argumentul s este NULL, acest nume este generat într-o memorie tampon statică internă și poate fi suprascris de următorul apel al funcției tmpnam(). Dacă s nu este NULL, numele este copiat în matricea de caractere (cu o lungime de cel puțin L_tmpnam) indicată de s, iar valoarea s este returnată în caz de succes.

Numele de rută creat are un prefix de director P_tmpdir; (atât L_tmpnam, cât și P_tmpdir sunt definite în <stdio.h>, la fel ca și TMP_MAX menționat mai jos).

Funcția tmpnam_r() îndeplinește aceeași sarcină ca și tmpnam(), dar returnează NULL (pentru a indica o eroare) dacă s este NULL.

VALOAREA RETURNATĂ
Aceste funcții returnează un indicator către un nume de fișier temporar unic sau NULL dacă nu poate fi generat un nume unic.

ERORI
Nu sunt definite erori.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
tmpnam() | Siguranța firelor | MT-Unsafe race:tmpnam/!s
tmpnam_r() | Siguranța firelor | MT-Safe

STANDARDE

tmpnam()
    C11, POSIX.1-2008.

tmpnam_r()
    Niciunul.

ISTORIC

tmpnam()
    SVr4, 4.3BSD, C89, POSIX.1-2001. Obsoletă în POSIX.1-2008.

tmpnam_r()
    Solaris.

NOTE
Funcția tmpnam() generează un șir diferit de fiecare dată când este apelată, până la TMP_MAX ori. În cazul în care este apelată de mai mult de TMP_MAX ori, comportamentul este definit de implementare.

Cu toate că aceste funcții generează nume greu de ghicit, este totuși posibil ca între momentul în care este returnat numele de rută și momentul în care programul îl deschide, un alt program să creeze acel nume de rută folosind open(2) sau să îl creeze ca o legătură simbolică. Acest lucru poate duce la găuri de securitate. Pentru a evita astfel de posibilități, utilizați indicatorul open(2) O_EXCL pentru a deschide numele de rută. Sau, mai bine, utilizați mkstemp(3) sau tmpfile(3).

Aplicațiile portabile care utilizează fire de execuție nu pot apela tmpnam() cu un argument NULL dacă este definit fie _POSIX_THREADS, fie _POSIX_THREAD_SAFE_FUNCTIONS.

ERORI
Nu utilizați niciodată aceste funcții. Folosiți în schimb mkstemp(3) sau tmpfile(3).

CONSULTAȚI ȘI
mkstemp(3), mktemp(3), tempnam(3), tmpfile(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.