mirror of https://github.com/mkerrisk/man-pages
105 lines
2.9 KiB
Plaintext
105 lines
2.9 KiB
Plaintext
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
||
|
.TH "BASENAME" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
||
|
.\" basename
|
||
|
.SH NAME
|
||
|
basename \- return the last component of a pathname
|
||
|
.SH SYNOPSIS
|
||
|
.LP
|
||
|
\fB#include <libgen.h>
|
||
|
.br
|
||
|
.sp
|
||
|
char *basename(char *\fP\fIpath\fP\fB); \fP
|
||
|
\fB
|
||
|
.br
|
||
|
\fP
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
The \fIbasename\fP() function shall take the pathname pointed to by
|
||
|
\fIpath\fP and return a pointer to the final component of
|
||
|
the pathname, deleting any trailing \fB'/'\fP characters.
|
||
|
.LP
|
||
|
If the string consists entirely of the \fB'/'\fP character, \fIbasename\fP()
|
||
|
shall return a pointer to the string
|
||
|
\fB"/"\fP . If the string is exactly \fB"//"\fP , it is implementation-defined
|
||
|
whether \fB'/'\fP or \fB"//"\fP is
|
||
|
returned.
|
||
|
.LP
|
||
|
If \fIpath\fP is a null pointer or points to an empty string, \fIbasename\fP()
|
||
|
shall return a pointer to the string
|
||
|
\fB"."\fP .
|
||
|
.LP
|
||
|
The \fIbasename\fP() function may modify the string pointed to by
|
||
|
\fIpath\fP, and may return a pointer to static storage that
|
||
|
may then be overwritten by a subsequent call to \fIbasename\fP().
|
||
|
.LP
|
||
|
The \fIbasename\fP() function need not be reentrant. A function that
|
||
|
is not required to be reentrant is not required to be
|
||
|
thread-safe.
|
||
|
.SH RETURN VALUE
|
||
|
.LP
|
||
|
The \fIbasename\fP() function shall return a pointer to the final
|
||
|
component of \fIpath\fP.
|
||
|
.SH ERRORS
|
||
|
.LP
|
||
|
No errors are defined.
|
||
|
.LP
|
||
|
\fIThe following sections are informative.\fP
|
||
|
.SH EXAMPLES
|
||
|
.SS Using basename()
|
||
|
.LP
|
||
|
The following program fragment returns a pointer to the value \fIlib\fP,
|
||
|
which is the base name of \fB/usr/lib\fP.
|
||
|
.sp
|
||
|
.RS
|
||
|
.nf
|
||
|
|
||
|
\fB#include <libgen.h>
|
||
|
\&...
|
||
|
char *name = "/usr/lib";
|
||
|
char *base;
|
||
|
.sp
|
||
|
|
||
|
base = basename(name);
|
||
|
\&...
|
||
|
\fP
|
||
|
.fi
|
||
|
.RE
|
||
|
.SS Sample Input and Output Strings for basename()
|
||
|
.LP
|
||
|
In the following table, the input string is the value pointed to by
|
||
|
\fIpath\fP, and the output string is the return value of
|
||
|
the \fIbasename\fP() function.
|
||
|
.TS C
|
||
|
center; l l.
|
||
|
\fBInput String\fP \fBOutput String\fP
|
||
|
"/usr/lib" "lib"
|
||
|
"/usr/" "usr"
|
||
|
"/" "/"
|
||
|
"///" "/"
|
||
|
"//usr//lib//" "lib"
|
||
|
.TE
|
||
|
.SH APPLICATION USAGE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH RATIONALE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH FUTURE DIRECTIONS
|
||
|
.LP
|
||
|
None.
|
||
|
.SH SEE ALSO
|
||
|
.LP
|
||
|
\fIdirname\fP() , the Base Definitions volume of IEEE\ Std\ 1003.1-2001,
|
||
|
\fI<libgen.h>\fP, the Shell and Utilities volume of IEEE\ Std\ 1003.1-2001,
|
||
|
\fIbasename\fP
|
||
|
.SH COPYRIGHT
|
||
|
Portions of this text are reprinted and reproduced in electronic form
|
||
|
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
|
||
|
-- Portable Operating System Interface (POSIX), The Open Group Base
|
||
|
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
|
||
|
Electrical and Electronics Engineers, Inc and The Open Group. In the
|
||
|
event of any discrepancy between this version and the original IEEE and
|
||
|
The Open Group Standard, the original IEEE and The Open Group Standard
|
||
|
is the referee document. The original Standard can be obtained online at
|
||
|
http://www.opengroup.org/unix/online.html .
|