Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       realpath - returnează numele de rută absolut canonizat

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #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-IEȘIRE

       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 │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

VERSIUNI

   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.

STANDARDE

       POSIX.1-2008.

ISTORIC

       4.4BSD, POSIX.1-2001, Solaris.

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

       Î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).

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   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  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.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                        realpath(3)