Annotation of src/lib/libc/gen/basename.3, Revision 1.14
1.14 ! christos 1: .\" $NetBSD: basename.3,v 1.13 2008/04/30 13:10:50 martin Exp $
1.1 kleink 2: .\"
1.8 thorpej 3: .\" Copyright (c) 1997, 2002 The NetBSD Foundation, Inc.
1.1 kleink 4: .\" All rights reserved.
5: .\"
6: .\" This code is derived from software contributed to The NetBSD Foundation
1.8 thorpej 7: .\" by Klaus Klein and Jason R. Thorpe.
1.1 kleink 8: .\"
9: .\" Redistribution and use in source and binary forms, with or without
10: .\" modification, are permitted provided that the following conditions
11: .\" are met:
12: .\" 1. Redistributions of source code must retain the above copyright
13: .\" notice, this list of conditions and the following disclaimer.
14: .\" 2. Redistributions in binary form must reproduce the above copyright
15: .\" notice, this list of conditions and the following disclaimer in the
16: .\" documentation and/or other materials provided with the distribution.
17: .\"
18: .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19: .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20: .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21: .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22: .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23: .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24: .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25: .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26: .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27: .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28: .\" POSSIBILITY OF SUCH DAMAGE.
29: .\"
1.14 ! christos 30: .Dd May 10, 2008
1.1 kleink 31: .Dt BASENAME 3
1.3 garbled 32: .Os
1.1 kleink 33: .Sh NAME
34: .Nm basename
35: .Nd return the last component of a pathname
1.2 perry 36: .Sh LIBRARY
37: .Lb libc
1.1 kleink 38: .Sh SYNOPSIS
1.10 wiz 39: .In libgen.h
1.1 kleink 40: .Ft char *
1.14 ! christos 41: .Fn basename "char *path"
1.1 kleink 42: .Sh DESCRIPTION
43: The
44: .Fn basename
45: function takes the pathname pointed to by
46: .Ar path
47: and returns a pointer to the final component of the pathname,
1.9 wiz 48: deleting any trailing
49: .Sq /
50: characters.
1.1 kleink 51: .Pp
52: If
53: .Ar path
1.9 wiz 54: consists entirely of
55: .Sq /
56: characters,
1.1 kleink 57: .Fn basename
1.9 wiz 58: returns a pointer to the string
59: .Dq / .
1.1 kleink 60: .Pp
61: If
62: .Ar path
63: is a null pointer or points to an empty string,
64: .Fn basename
1.9 wiz 65: returns a pointer to the string
66: .Dq \&. .
1.1 kleink 67: .Sh RETURN VALUES
68: The
69: .Fn basename
70: function returns a pointer to the final component of
71: .Ar path .
72: .Sh SEE ALSO
1.11 kleink 73: .Xr basename 1 ,
1.1 kleink 74: .Xr dirname 3
75: .Sh STANDARDS
76: .Bl -bullet -compact
1.5 wiz 77: .It
1.1 kleink 78: .St -xpg4.2
1.8 thorpej 79: .It
80: .St -p1003.1-2001
1.5 wiz 81: .El
1.1 kleink 82: .Sh BUGS
1.8 thorpej 83: If the length of the result is longer than
84: .Dv PATH_MAX
85: bytes
86: .Pq including the terminating nul ,
87: the result will be truncated.
88: .Pp
1.1 kleink 89: The
90: .Fn basename
1.8 thorpej 91: function returns a pointer to static storage that may be overwritten
92: by subsequent calls to
93: .Fn basename .
1.9 wiz 94: This is not strictly a bug; it is explicitly allowed by
1.8 thorpej 95: .St -p1003.1-2001 .
CVSweb <webmaster@jp.NetBSD.org>