Sous-routine realpath

Objectif

Résout les noms de chemin.

Bibliothèque

Bibliothèque C standard (libc.a)

Syntaxe

#include <stdlib.h>

char *realpath (const char *file_name, char *resolved_name)

Descriptif

La sous-routine realpath effectue une extension de nom de fichier et une résolution de nom de chemin dans nom_fichier et la stocke dans resolved_name.

La sous-routine realpath peut gérer les noms de chemin relatifs et absolus. Pour les noms de chemin absolu et relatif, la sous-routine realpath renvoie le nom de chemin absolu résolu.

Le caractère désigné par resolved_name doit être suffisamment grand pour contenir le nom de chemin d'accès entièrement résolu. La valeur de PATH_MAX (définie dans le fichier d'en-tête limits.h peut être utilisée comme taille de tableau appropriée.

Valeurs renvoyées

Une fois l'opération terminée, la sous-routine realpath renvoie un pointeur vers le nom résolu. Sinon, il renvoie un pointeur null et définit errno pour indiquer l'erreur. Si la sous-routine realpath rencontre une erreur, le contenu de resolved_name n'est pas défini.

Codes d'erreur

Dans les conditions suivantes, la sous-routine realpath échoue et définit errno sur:

Tableau 1. Codes d'erreur
Article Descriptif
EACCES Le droit de lecture ou de recherche a été refusé pour un composant du nom de chemin.
EINVAL Nom_fichier ou Nom_résolution est un pointeur null.
ELOOP Trop de liens symboliques sont rencontrés lors de la conversion de Nom_fichier.
ENAMETOOLONG La longueur de nom_fichier ou nom_résolution dépasse PATH_MAX ou un composant de nom de chemin est supérieur à NAME_MAX.
ENOENT Le paramètre Nom_fichier n'existe pas ou pointe vers une chaîne vide.
ENOTDIR Un composant du préfixe Nom_fichier n'est pas un répertoire.

La sous-routine realpath peut échouer si:

Tableau 2. realpath Critères
Article Descriptif
ENOMEM Espace de stockage insuffisant disponible.