BASENAME(3) BSD Library Functions Manual BASENAME(3)NAMEbasename — extract the base portion of a pathname
SYNOPSIS
#include <libgen.h>
char *
basename(const char *path);
DESCRIPTION
The basename() function returns the last component from the pathname
pointed to by path, deleting any trailing ‘/’ characters. If path con‐
sists entirely of ‘/’ characters, a pointer to the string "/" is
returned. If path is a null pointer or the empty string, a pointer to
the string "." is returned.
IMPLEMENTATION NOTES
The basename() function returns a pointer to internal storage space allo‐
cated on the first call that will be overwritten by subsequent calls.
RETURN VALUES
On successful completion, basename() returns a pointer to the last compo‐
nent of path.
If basename() fails, a null pointer is returned and the global variable
errno is set to indicate the error.
ERRORS
The following error codes may be set in errno:
[ENAMETOOLONG] The path component to be returned was larger than
MAXPATHLEN.
SEE ALSObasename(1), dirname(1), dirname(3)STANDARDS
The basename() function conforms to X/Open Portability Guide Issue 4,
Version 2 (“XPG4.2”).
HISTORY
The basename() function first appeared in OpenBSD 2.2 and FreeBSD 4.2.
AUTHORS
Todd C. Miller ⟨Todd.Miller@courtesan.com⟩
BSD October 12, 2006 BSD