canonicalize_file_name

       #define _GNU_SOURCE         /* See feature_test_macros(7) */
       #include <stdlib.h>

       char *canonicalize_file_name(const char *path);

DESCRIPTION
       The  canonicalize_file_name() function returns a null-terminated string
       containing the canonicalized absolute pathname corresponding  to  path.
       In  the  returned string, symbolic links are resolved, as are .  and ..
       pathname components.  Consecutive slash (/) characters are replaced  by
       a single slash.

       The   returned   string   is   dynamically   allocated   by  canonical-
       ize_file_name() and the caller should deallocate it with  free(3)  when
       it is no longer required.

       The call canonicalize_file_name(path) is equivalent to the call:

           realpath(path, NULL);

RETURN VALUE
       On  success, canonicalize_file_name() returns a null-terminated string.
       On error (e.g., a pathname component is unreadable or does not  exist),
       canonicalize_file_name()  returns  NULL  and sets errno to indicate the
       error.

ERRORS
       See realpath(3).

ATTRIBUTES
       For  an  explanation  of  the  terms  used   in   this   section,   see
       attributes(7).

       +-------------------------+---------------+---------+
       |Interface                | Attribute     | Value   |
       +-------------------------+---------------+---------+
       |canonicalize_file_name() | Thread safety | MT-Safe |
       +-------------------------+---------------+---------+
CONFORMING TO
       This function is a GNU extension.

SEE ALSO
       readlink(2), realpath(3)

COLOPHON
       This  page  is  part of release 4.04 of the Linux man-pages project.  A
       description of the project, information about reporting bugs,  and  the
       latest     version     of     this    page,    can    be    found    at
       http://www.kernel.org/doc/man-pages/.

GNU                               2015-03-02         CANONICALIZE_FILE_NAME(3)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2019 Hurricane Electric. All Rights Reserved.