.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 1999 Andries Brouwer (aeb@cwi.nl) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Rewritten old page, 990824, aeb@cwi.nl .\" 2004-12-14, mtk, added discussion of resolved_path == NULL .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH realpath 3 "2 mai 2024" "Pagini de manual de Linux 6.9.1" .SH NUME realpath \- returnează numele de rută absolut canonizat .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP \fB#include \fP .P \fBchar *realpath(const char *restrict \fP\fIpath\fP\fB,\fP \fB char *restrict \fP\fIresolved_path\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBrealpath\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE .fi .SH DESCRIERE \fBrealpath\fP() extinde toate legăturile simbolice și rezolvă referințele la caracterele \fI/./\fP, \fI/../\fP și la caracterele suplimentare \[aq]/\[aq] din șirul cu terminație nulă numit de \fIpath\fP 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 \fBPATH_MAX\fP octeți, în memoria tampon indicată de \fIresolved_path\fP. Ruta rezultată nu va avea nici o legătură simbolică, nici componente \fI/./\fP sau \fI/../\fP. .P .\" Even if we use resolved_path == NULL, then realpath() will still .\" return ENAMETOOLONG if the resolved pathname would exceed PATH_MAX .\" bytes -- MTK, Dec 04 Dacă \fIresolved_path\fP este specificat ca fiind NULL, atunci \fBrealpath\fP() utilizează \fBmalloc\fP(3) pentru a aloca o memorie tampon de până la \fBPATH_MAX\fP 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 \fBfree\fP(3). .SH "VALOAREA RETURNATĂ" Dacă nu există nicio eroare, \fBrealpath\fP() returnează un indicator către \fIresolved_path\fP. .P În caz contrar, se returnează NULL, conținutul matricei \fIresolved_path\fP este nedefinit, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEACCES\fP Permisiunea de citire sau de căutare a fost refuzată pentru o componentă a prefixului rutei. .TP \fBEINVAL\fP .\" (In libc5 this would just cause a segfault.) \fIpath\fP este NULL; (înainte de glibc 2.3, această eroare este returnată și dacă \fIresolved_path\fP este NULL). .TP \fBEIO\fP A apărut o eroare de In/Ieș în timpul citirii din sistemul de fișiere. .TP \fBELOOP\fP S\-au întâlnit prea multe legături simbolice la conversia numelui de rută. .TP \fBENAMETOOLONG\fP O componentă a unui nume de rută a depășit \fBNAME_MAX\fP caractere sau un nume de rută întreg a depășit \fBPATH_MAX\fP caractere. .TP \fBENOENT\fP Fișierul numit nu există. .TP \fBENOMEM\fP Memorie insuficientă. .TP \fBENOTDIR\fP O componentă a prefixului de rută nu este un director. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBrealpath\fP() T} Siguranța firelor MT\-Safe .TE .SH VERSIUNI .SS "Extensii GNU" Dacă apelul eșuează fie cu \fBEACCES\fP, fie cu \fBENOENT\fP și \fIresolved_path\fP nu este NULL, atunci prefixul din \fIpath\fP care nu poate fi citit sau nu există este returnat în \fIresolved_path\fP. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC 4.4BSD, POSIX.1\-2001, Solaris. .P POSIX.1\-2001 spune cu privire la comportamentul în cazul în care \fIresolved_path\fP este NULL, că este definit de implementare. POSIX.1\-2008 specifică comportamentul descris în această pagină. .P În 4.4BSD și Solaris, limita de lungime a numelui de rută este \fBMAXPATHLEN\fP (se găsește în \fI\fP). SUSv2 prescrie \fBPATH_MAX\fP și \fBNAME_MAX\fP, așa cum se găsește în \fI\fP sau cum este furnizată de funcția \fBpathconf\fP(3). Un fragment tipic de sursă ar fi .P .in +4n .EX #ifdef PATH_MAX path_max = PATH_MAX; #else path_max = pathconf(path, _PC_PATH_MAX); if (path_max <= 0) path_max = 4096; #endif .EE .in .P .\".P .\" 2012-05-05, According to Casper Dik, the statement about .\" Solaris was not true at least as far back as 1997, and .\" may never have been true. .\" .\" The 4.4BSD, Linux and SUSv2 versions always return an absolute .\" pathname. .\" Solaris may return a relative pathname when the .\" .I path .\" argument is relative. .\" The prototype of .\" .BR realpath () .\" is given in \fI\fP in libc4 and libc5, .\" but in \fI\fP everywhere else. (Dar consultați secțiunea ERORI). .SH ERORI .\" .P .\" The libc4 and libc5 implementation contained a buffer overflow .\" (fixed in libc-5.4.13). .\" Thus, set-user-ID programs like .\" .BR mount (8) .\" needed a private version. 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, \fIresolved_path\fP. În conformitate cu POSIX.1\-2001, este suficientă o memorie tampon de dimensiune \fBPATH_MAX\fP, dar \fBPATH_MAX\fP nu trebuie să fie o constantă definită și este posibil să trebuiască să fie obținută folosind \fBpathconf\fP(3). Iar solicitarea lui \fBpathconf\fP(3) nu ajută cu adevărat, deoarece, pe de o parte, POSIX avertizează că rezultatul lui \fBpathconf\fP(3) poate fi uriaș și nepotrivit pentru alocarea de memorie, iar pe de altă parte, \fBpathconf\fP(3) poate returna \-1 pentru a indica faptul că \fBPATH_MAX\fP nu este delimitat. Caracteristica \fIresolved_path\ ==\ NULL\fP, care nu este standardizată în POSIX.1\-2001, dar este standardizată în POSIX.1\-2008, permite evitarea acestei probleme de proiectare. .SH "CONSULTAȚI ȘI" \fBrealpath\fP(1), \fBreadlink\fP(2), \fBcanonicalize_file_name\fP(3), \fBgetcwd\fP(3), \fBpathconf\fP(3), \fBsysconf\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .