Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

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

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <stdio.h>

       char *tmpnam(char *s);
       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țăAtributValoare                  │
       ├──────────────────────────────────────────┼───────────────────┼──────────────────────────┤
       │tmpnam()                                  │ Siguranța firelor │ MT-Unsafe race:tmpnam/!s │
       ├──────────────────────────────────────────┼───────────────────┼──────────────────────────┤
       │tmpnam_r()                                │ Siguranța firelor │ MT-Safe                  │
       └──────────────────────────────────────────┴───────────────────┴──────────────────────────┘

STANDARDE

       tmpnam():  SVr4,  4.3BSD,  C99,  POSIX.1-2001.   POSIX.1-2008  marchează tmpnam() ca fiind
       obsoletă.

       tmpnam_r() este o extensie  nestandardizată  care  este  disponibilă  și  pe  alte  câteva
       sisteme.

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⟩.