basename.3 (874108aed99d76099ff9eb6c8d830479a504c1ad) | basename.3 (1250db81390606572908abd88d78c1f2fa5a1832) |
---|---|
1.\" 2.\" Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com> 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26.\" 27.\" $OpenBSD: basename.3,v 1.12 2000/04/18 03:01:25 aaron Exp $ 28.\" $FreeBSD$ 29.\" | 1.\" 2.\" Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com> 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26.\" 27.\" $OpenBSD: basename.3,v 1.12 2000/04/18 03:01:25 aaron Exp $ 28.\" $FreeBSD$ 29.\" |
30.Dd October 6, 2009 | 30.Dd August 17, 1997 |
31.Dt BASENAME 3 32.Os 33.Sh NAME 34.Nm basename 35.Nd extract the base portion of a pathname 36.Sh SYNOPSIS | 31.Dt BASENAME 3 32.Os 33.Sh NAME 34.Nm basename 35.Nd extract the base portion of a pathname 36.Sh SYNOPSIS |
37.In libgen.h | 37.Fd #include <libgen.h> |
38.Ft char * 39.Fn basename "const char *path" | 38.Ft char * 39.Fn basename "const char *path" |
40.Ft char * 41.Fn basename_r "const char *path" "char *bname" | |
42.Sh DESCRIPTION 43The 44.Fn basename 45function 46returns the last component from the pathname pointed to by | 40.Sh DESCRIPTION 41The 42.Fn basename 43function 44returns the last component from the pathname pointed to by |
47.Fa path , | 45.Ar path , |
48deleting any trailing 49.Sq \&/ 50characters. 51If | 46deleting any trailing 47.Sq \&/ 48characters. 49If |
52.Fa path | 50.Ar path |
53consists entirely of 54.Sq \&/ 55characters, a pointer to the string 56.Qq \&/ 57is returned. 58If | 51consists entirely of 52.Sq \&/ 53characters, a pointer to the string 54.Qq \&/ 55is returned. 56If |
59.Fa path | 57.Ar path |
60is a null pointer or the empty string, a pointer to the string 61.Qq \&. 62is returned. | 58is a null pointer or the empty string, a pointer to the string 59.Qq \&. 60is returned. |
63.Pp 64The 65.Fn basename_r 66variation accepts a buffer of at least 67.Dv MAXPATHLEN 68bytes in which to store the resulting component. 69.Sh IMPLEMENTATION NOTES 70The 71.Fn basename 72function 73returns a pointer to internal storage space allocated on the first call 74that will be overwritten 75by subsequent calls. 76.Fn basename_r 77is therefore preferred for threaded applications. | |
78.Sh RETURN VALUES 79On successful completion, 80.Fn basename | 61.Sh RETURN VALUES 62On successful completion, 63.Fn basename |
81and 82.Fn basename_r 83return pointers to the last component of 84.Fa path . | 64returns a pointer to the last component of 65.Ar path . |
85.Pp | 66.Pp |
86If they fail, a null pointer is returned and the global variable | 67If 68.Fn basename 69fails, a null pointer is returned and the global variable |
87.Va errno 88is set to indicate the error. 89.Sh ERRORS 90The following error codes may be set in 91.Va errno : 92.Bl -tag -width Er 93.It Bq Er ENAMETOOLONG 94The path component to be returned was larger than 95.Dv MAXPATHLEN . 96.El | 70.Va errno 71is set to indicate the error. 72.Sh ERRORS 73The following error codes may be set in 74.Va errno : 75.Bl -tag -width Er 76.It Bq Er ENAMETOOLONG 77The path component to be returned was larger than 78.Dv MAXPATHLEN . 79.El |
80.Sh WARNINGS 81.Fn basename 82returns a pointer to internal static storage space that will be overwritten 83by subsequent calls. |
|
97.Sh SEE ALSO 98.Xr basename 1 , 99.Xr dirname 1 , 100.Xr dirname 3 101.Sh STANDARDS 102The 103.Fn basename 104function conforms to 105.St -xpg4.2 . 106.Sh HISTORY 107The 108.Fn basename 109function first appeared in | 84.Sh SEE ALSO 85.Xr basename 1 , 86.Xr dirname 1 , 87.Xr dirname 3 88.Sh STANDARDS 89The 90.Fn basename 91function conforms to 92.St -xpg4.2 . 93.Sh HISTORY 94The 95.Fn basename 96function first appeared in |
110.Ox 2.2 111and 112.Fx 4.2 . 113.Sh AUTHORS 114.An "Todd C. Miller" Aq Todd.Miller@courtesan.com | 97.Ox 2.2 . 98.Sh AUTHOR 99Todd C. Miller <Todd.Miller@courtesan.com> |