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

NUME

       realpath - returnează numele de rută absolut canonizat

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <limits.h>
       #include <stdlib.h>

       char *realpath(const char *restrict path,
                      char *restrict resolved_path);

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

       realpath():
           _XOPEN_SOURCE >= 500
               || /* glibc >= 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _BSD_SOURCE

DESCRIERE

       realpath() extinde toate legăturile simbolice și rezolvă referințele la  caracterele  /./,
       /../  și la caracterele suplimentare '/' din șirul cu terminație nulă numit de path pentru
       a produce un nume de rută absolut canonizat. Numele de rută rezultat este stocat sub forma
       unui  șir  cu  terminație  nulă,  până  la  un maxim de PATH_MAX octeți, în memoria tampon
       indicată de resolved_path. Ruta rezultată nu va  avea  nici  o  legătură  simbolică,  nici
       componente /./ sau /../.

       Dacă  resolved_path  este specificat ca fiind NULL, atunci realpath() utilizează malloc(3)
       pentru a aloca o memorie tampon de până la PATH_MAX octeți pentru a păstra numele de  rută
       rezolvat  și  returnează  un  indicator  la această memorie tampon. Apelantul ar trebui să
       elibereze această memorie tampon folosind free(3).

VALOAREA RETURNATĂ

       Dacă nu există nicio eroare, realpath() returnează un indicator către resolved_path.

       În caz contrar, se returnează NULL, conținutul matricei resolved_path este nedefinit,  iar
       errno este configurată pentru a indica eroarea.

ERORI

       EACCES Permisiunea  de  citire  sau  de  căutare  a  fost  refuzată  pentru o componentă a
              prefixului rutei.

       EINVAL path este NULL; (înainte de glibc  2.3,  această  eroare  este  returnată  și  dacă
              resolved_path este NULL).

       EIO    A apărut o eroare de In/Ieș în timpul citirii din sistemul de fișiere.

       ELOOP  S-au întâlnit prea multe legături simbolice la conversia numelui de rută.

       ENAMETOOLONG
              O  componentă  a unui nume de rută a depășit NAME_MAX caractere sau un nume de rută
              întreg a depășit PATH_MAX caractere.

       ENOENT Fișierul numit nu există.

       ENOMEM Memorie insuficientă.

       ENOTDIR
              O componentă a prefixului de rută nu este un director.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │InterfațăAtributValoare │
       ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │realpath()                                                 │ Siguranța firelor │ MT-Safe │
       └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       4.4BSD, POSIX.1-2001.

       POSIX.1-2001 spune cu privire la comportamentul în cazul în care resolved_path este  NULL,
       că  este definit de implementare. POSIX.1-2008 specifică comportamentul descris în această
       pagină.

NOTE

       În 4.4BSD și Solaris, limita de lungime a numelui de rută este MAXPATHLEN (se  găsește  în
       <sys/param.h>).  SUSv2 prescrie PATH_MAX și NAME_MAX, așa cum se găsește în <limits.h> sau
       cum este furnizată de funcția pathconf(3). Un fragment tipic de sursă ar fi

           #ifdef PATH_MAX
             path_max = PATH_MAX;
           #else
             path_max = pathconf(path, _PC_PATH_MAX);
             if (path_max <= 0)
               path_max = 4096;
           #endif

       (Dar consultați secțiunea ERORI).

   Extensii GNU
       Dacă apelul eșuează fie cu EACCES, fie cu ENOENT și resolved_path  nu  este  NULL,  atunci
       prefixul din path care nu poate fi citit sau nu există este returnat în resolved_path.

ERORI

       Versiunea standard POSIX.1-2001 a acestei funcții este incorectă prin proiectare, deoarece
       este imposibil să se determine o dimensiune adecvată  pentru  memoria  tampon  de  ieșire,
       resolved_path.  În  conformitate  cu  POSIX.1-2001,  este  suficientă  o memorie tampon de
       dimensiune PATH_MAX, dar PATH_MAX nu trebuie să fie o constantă definită și  este  posibil
       să  trebuiască  să  fie  obținută folosind pathconf(3). Iar solicitarea lui pathconf(3) nu
       ajută cu  adevărat,  deoarece,  pe  de  o  parte,  POSIX  avertizează  că  rezultatul  lui
       pathconf(3) poate fi uriaș și nepotrivit pentru alocarea de memorie, iar pe de altă parte,
       pathconf(3) poate returna -1 pentru  a  indica  faptul  că  PATH_MAX  nu  este  delimitat.
       Caracteristica resolved_path == NULL, care nu este standardizată în POSIX.1-2001, dar este
       standardizată în POSIX.1-2008, permite evitarea acestei probleme de proiectare.

CONSULTAȚI ȘI

       realpath(1), readlink(2), canonicalize_file_name(3), getcwd(3), pathconf(3), sysconf(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⟩.