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:
| 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:
| Article | Descriptif |
|---|---|
ENOMEM |
Espace de stockage insuffisant disponible. |