Manual browser: basename(3)

Section:
Page:
BASENAME(3) Library Functions Manual BASENAME(3)

NAME

basenamereturn the last component of a pathname

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <libgen.h>

char *
basename(char *path);

DESCRIPTION

The basename() function takes the pathname pointed to by path and returns a pointer to the final component of the pathname, deleting any trailing ‘/’ characters.

If path consists entirely of ‘/’ characters, basename() returns a pointer to the string “/”.

If path is a null pointer or points to an empty string, basename() returns a pointer to the string “.”.

RETURN VALUES

The basename() function returns a pointer to the final component of path.

STANDARDS

  • X/Open Portability Guide Issue 4, Version 2 (“XPG4.2”)
  • IEEE Std 1003.1-2001 (“POSIX.1”)

BUGS

If the length of the result is longer than PATH_MAX bytes (including the terminating nul), the result will be truncated.

The basename() function returns a pointer to static storage that may be overwritten by subsequent calls to basename(). This is not strictly a bug; it is explicitly allowed by IEEE Std 1003.1-2001 (“POSIX.1”).

May 10, 2008 NetBSD 7.0