The basename() function shall take the pathname pointed to by
path and return a pointer to the final component of
the pathname, deleting any trailing / characters.
If the string consists entirely of the / character, basename()
shall return a pointer to the string
"/" . If the string is exactly "//" , it is implementation-defined
whether / or "//" is
returned.
If path is a null pointer or points to an empty string, basename()
shall return a pointer to the string
"." .
The basename() function may modify the string pointed to by
path, and may return a pointer to static storage that
may then be overwritten by a subsequent call to basename().
The basename() function need not be reentrant. A function that
is not required to be reentrant is not required to be
thread-safe.
dirname() , the Base Definitions volume of IEEE Std 1003.1-2001,
<libgen.h>, the Shell and Utilities volume of IEEE Std 1003.1-2001,
basename