Man page - realpath(3)

Packages contains this manual

Available languages:

en fr es ja ru ro de

Manual

realpath

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
VERSIONS
Extensions GNU
STANDARDS
HISTORIQUE
BOGUES
VOIR AUSSI
TRADUCTION

NOM

realpath - Renvoyer le chemin d’accùs absolu

BIBLIOTHÈQUE

BibliothĂšque C standard ( libc , -lc )

SYNOPSIS

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

char *realpath(const char *restrict chemin ,
char *restrict
chemin_résolu );

Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros (7)) :

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

DESCRIPTION

realpath dĂ©veloppe tous les liens symboliques, et rĂ©sout les rĂ©fĂ©rences Ă  « /./ », « /../ » ainsi que les caractĂšres w / x supplĂ©mentaires dans la chaĂźne, terminĂ©e par un caractĂšre NULL, pointĂ©e par chemin pour produire une forme canonique du chemin absolu. Le chemin rĂ©sultant est stockĂ© sous la forme d’une chaĂźne terminĂ©e par un caractĂšre NULL pouvant contenir jusqu’à PATH_MAX octets, dans le tampon pointĂ© par chemin_rĂ©solu . Le chemin rĂ©sultant ne traversera plus de liens symboliques et ne contiendra plus d’élĂ©ments « /./ » ou « /../ ».

Si chemin_rĂ©solu est NULL, alors realpath () utilise malloc (3) pour allouer un tampon allant jusqu’à PATH_MAX octets pour contenir le chemin trouvĂ©, et retourne un pointeur sur ce tampon. L’appelant doit libĂ©rer ce tampon avec free (3).

VALEUR RENVOYÉE

S’il n’y a pas d’erreur, realpath () renvoie un pointeur sur chemin_rĂ©solu .

Sinon elle renvoie NULL, le contenu de chemin_rsĂ©olu n’est pas dĂ©fini et errno prend la valeur du code d’erreur.

ERREURS

EACCES

La permission de recherche ou de lecture n’est pas accordĂ©e pour un composant du chemin d’accĂšs.

EINVAL

chemin est NULL (avant la glibc 2.3, cette erreur est aussi renvoyée si chemin_résolu est NULL).

EIO

Une erreur d’entrĂ©e-sortie s’est produite durant la lecture du systĂšme de fichiers.

ELOOP

Trop de liens symboliques ont été rencontrés en parcourant le chemin.

ENAMETOOLONG

Un Ă©lĂ©ment du chemin d’accĂšs dĂ©passe NAME_MAX caractĂšres de long ou le chemin d’accĂšs complet dĂ©passe PATH_MAX caractĂšres.

ENOENT

Le fichier indiquĂ© n’existe pas.

ENOMEM

Plus assez de mémoire.

ENOTDIR

Un Ă©lĂ©ment du chemin d’accĂšs n’est pas un rĂ©pertoire.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes (7).

Image grohtml-3867746-1.png

VERSIONS

Extensions GNU

Si l’appel Ă©choue avec EACCES ou ENOENT alors que chemin_rĂ©solu n’est pas NULL, alors le prĂ©fixe de chemin qui n’est pas lisible ou qui n’existe pas est renvoyĂ© dans chemin_rĂ©solu .

STANDARDS

POSIX.1-2008.

HISTORIQUE

4.4BSD, POSIX.1-2001, Solaris.

POSIX.1 indique que le comportement dans le cas oĂč chemin_rĂ©solu est NULL dĂ©pend de l’implĂ©mentation. POSIX.1-2008 spĂ©cifie le comportement dĂ©crit dans cette page.

Dans 4.4BSD et Solaris, la limite de longueur du chemin est MAXPATHLEN (dans <sys/param.h> ). SUSv2 conseille PATH_MAX et NAME_MAX , dans <limits.h> ou fournis par pathconf (3). Un fragment de code typique serait

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

(Mais voir quand mĂȘme la section des BOGUES.)

BOGUES

La version du standard POSIX.1-2001 de cette fonctions est erronĂ©e par construction, car elle ne permet pas de connaĂźtre la taille nĂ©cessaire pour le tampon de sortie chemin_rĂ©solu . D’aprĂšs POSIX.1-2001, un tampon de taille PATH_MAX suffit, mais PATH_MAX n’est pas nĂ©cessairement une constante dĂ©finie et peut ĂȘtre obtenue avec pathconf (3). En outre, interroger pathconf (3) n’aide pas vraiment, car d’une part POSIX prĂ©vient que les rĂ©sultats de pathconf (3) peuvent ĂȘtre immenses et inappropriĂ©s pour allouer de la mĂ©moire et d’autre part pathconf (3) peut renvoyer -1 indiquant que PATH_MAX est illimitĂ©. La fonctionnalitĂ© chemin_rĂ©solu == NULL , non standard dans POSIX.1-2008, permet d’éviter ces problĂšmes.

VOIR AUSSI

realpath (1), readlink (2), canonicalize_file_name (3), getcwd (3), pathconf (3), sysconf (3)

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et bubu <bubub@no-log.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n’y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .