11250db81SDag-Erling Smørgrav.\" 21250db81SDag-Erling Smørgrav.\" Copyright (c) 1997 Todd C. Miller <Todd.Miller@courtesan.com> 31250db81SDag-Erling Smørgrav.\" All rights reserved. 41250db81SDag-Erling Smørgrav.\" 51250db81SDag-Erling Smørgrav.\" Redistribution and use in source and binary forms, with or without 61250db81SDag-Erling Smørgrav.\" modification, are permitted provided that the following conditions 71250db81SDag-Erling Smørgrav.\" are met: 81250db81SDag-Erling Smørgrav.\" 1. Redistributions of source code must retain the above copyright 91250db81SDag-Erling Smørgrav.\" notice, this list of conditions and the following disclaimer. 101250db81SDag-Erling Smørgrav.\" 2. Redistributions in binary form must reproduce the above copyright 111250db81SDag-Erling Smørgrav.\" notice, this list of conditions and the following disclaimer in the 121250db81SDag-Erling Smørgrav.\" documentation and/or other materials provided with the distribution. 131250db81SDag-Erling Smørgrav.\" 3. The name of the author may not be used to endorse or promote products 141250db81SDag-Erling Smørgrav.\" derived from this software without specific prior written permission. 151250db81SDag-Erling Smørgrav.\" 161250db81SDag-Erling Smørgrav.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 171250db81SDag-Erling Smørgrav.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY 181250db81SDag-Erling Smørgrav.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 191250db81SDag-Erling Smørgrav.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 201250db81SDag-Erling Smørgrav.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 211250db81SDag-Erling Smørgrav.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 221250db81SDag-Erling Smørgrav.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 231250db81SDag-Erling Smørgrav.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 241250db81SDag-Erling Smørgrav.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 251250db81SDag-Erling Smørgrav.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 261250db81SDag-Erling Smørgrav.\" 271250db81SDag-Erling Smørgrav.\" $OpenBSD: dirname.3,v 1.9 2000/04/18 03:01:25 aaron Exp $ 281250db81SDag-Erling Smørgrav.\" $FreeBSD$ 291250db81SDag-Erling Smørgrav.\" 301250db81SDag-Erling Smørgrav.Dd August 17, 1997 311250db81SDag-Erling Smørgrav.Dt DIRNAME 3 321250db81SDag-Erling Smørgrav.Os 331250db81SDag-Erling Smørgrav.Sh NAME 341250db81SDag-Erling Smørgrav.Nm dirname 351250db81SDag-Erling Smørgrav.Nd extract the directory portition of a pathname 361250db81SDag-Erling Smørgrav.Sh SYNOPSIS 3732eef9aeSRuslan Ermilov.In libgen.h 381250db81SDag-Erling Smørgrav.Ft char * 391250db81SDag-Erling Smørgrav.Fn dirname "const char *path" 401250db81SDag-Erling Smørgrav.Sh DESCRIPTION 411250db81SDag-Erling SmørgravThe 421250db81SDag-Erling Smørgrav.Fn dirname 431250db81SDag-Erling Smørgravfunction 441250db81SDag-Erling Smørgravis the converse of 451250db81SDag-Erling Smørgrav.Xr basename 3 ; 461250db81SDag-Erling Smørgravit returns a pointer to the parent directory of the pathname pointed to by 475c564baeSRuslan Ermilov.Fa path . 481250db81SDag-Erling SmørgravAny trailing 491250db81SDag-Erling Smørgrav.Sq \&/ 501250db81SDag-Erling Smørgravcharacters are not counted as part of the directory 511250db81SDag-Erling Smørgravname. 521250db81SDag-Erling SmørgravIf 535c564baeSRuslan Ermilov.Fa path 541250db81SDag-Erling Smørgravis a null pointer, the empty string, or contains no 551250db81SDag-Erling Smørgrav.Sq \&/ 561250db81SDag-Erling Smørgravcharacters, 571250db81SDag-Erling Smørgrav.Fn dirname 581250db81SDag-Erling Smørgravreturns a pointer to the string 591250db81SDag-Erling Smørgrav.Qq \&. , 601250db81SDag-Erling Smørgravsignifying the current directory. 611250db81SDag-Erling Smørgrav.Sh RETURN VALUES 621250db81SDag-Erling SmørgravOn successful completion, 631250db81SDag-Erling Smørgrav.Fn dirname 641250db81SDag-Erling Smørgravreturns a pointer to the parent directory of 655c564baeSRuslan Ermilov.Fa path . 661250db81SDag-Erling Smørgrav.Pp 671250db81SDag-Erling SmørgravIf 681250db81SDag-Erling Smørgrav.Fn dirname 691250db81SDag-Erling Smørgravfails, a null pointer is returned and the global variable 701250db81SDag-Erling Smørgrav.Va errno 711250db81SDag-Erling Smørgravis set to indicate the error. 721250db81SDag-Erling Smørgrav.Sh ERRORS 731250db81SDag-Erling SmørgravThe following error codes may be set in 741250db81SDag-Erling Smørgrav.Va errno : 751250db81SDag-Erling Smørgrav.Bl -tag -width Er 761250db81SDag-Erling Smørgrav.It Bq Er ENAMETOOLONG 771250db81SDag-Erling SmørgravThe path component to be returned was larger than 781250db81SDag-Erling Smørgrav.Dv MAXPATHLEN . 791250db81SDag-Erling Smørgrav.El 801250db81SDag-Erling Smørgrav.Sh WARNINGS 8195f4226bSRuslan ErmilovThe 821250db81SDag-Erling Smørgrav.Fn dirname 8395f4226bSRuslan Ermilovfunction 841250db81SDag-Erling Smørgravreturns a pointer to internal static storage space that will be overwritten 851250db81SDag-Erling Smørgravby subsequent calls (each function has its own separate storage). 861250db81SDag-Erling Smørgrav.Pp 871250db81SDag-Erling SmørgravOther vendor implementations of 881250db81SDag-Erling Smørgrav.Fn dirname 891250db81SDag-Erling Smørgravmay modify the contents of the string passed to 901250db81SDag-Erling Smørgrav.Fn dirname ; 911250db81SDag-Erling Smørgravthis should be taken into account when writing code which calls this function 921250db81SDag-Erling Smørgravif portability is desired. 931250db81SDag-Erling Smørgrav.Sh SEE ALSO 941250db81SDag-Erling Smørgrav.Xr basename 1 , 951250db81SDag-Erling Smørgrav.Xr dirname 1 , 961250db81SDag-Erling Smørgrav.Xr basename 3 971250db81SDag-Erling Smørgrav.Sh STANDARDS 981250db81SDag-Erling SmørgravThe 991250db81SDag-Erling Smørgrav.Fn dirname 1001250db81SDag-Erling Smørgravfunction conforms to 1011250db81SDag-Erling Smørgrav.St -xpg4.2 . 1021250db81SDag-Erling Smørgrav.Sh HISTORY 1031250db81SDag-Erling SmørgravThe 1041250db81SDag-Erling Smørgrav.Fn dirname 1051250db81SDag-Erling Smørgravfunction first appeared in 1068dfd7bcdSDavid E. O'Brien.Ox 2.2 1078dfd7bcdSDavid E. O'Brienand 1088dfd7bcdSDavid E. O'Brien.Fx 4.2 . 109251c176fSRuslan Ermilov.Sh AUTHORS 1101250db81SDag-Erling SmørgravTodd C. Miller <Todd.Miller@courtesan.com> 111