Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DIRNAME(3)		 BSD Library Functions Manual		    DIRNAME(3)

NAME
     dirname --	extract	the directory portition	of a pathname

SYNOPSIS
     #include <libgen.h>

     char *
     dirname(const char	*path);

DESCRIPTION
     The dirname() function is the converse of basename(3); it returns a
     pointer to	the parent directory of	the pathname pointed to	by path.  Any
     trailing `/' characters are not counted as	part of	the directory name.
     If	path is	a null pointer,	the empty string, or contains no `/' charac-
     ters, dirname() returns a pointer to the string ".", signifying the cur-
     rent directory.

RETURN VALUES
     On	successful completion, dirname() returns a pointer to the parent di-
     rectory of	path.

     If	dirname() fails, a null	pointer	is returned and	the global variable
     errno is set to indicate the error.

ERRORS
     The following error codes may be set in errno:

     [ENAMETOOLONG]	The path component to be returned was larger than
			MAXPATHLEN.

WARNINGS
     dirname() returns a pointer to internal static storage space that will be
     overwritten by subsequent calls (each function has	its own	separate stor-
     age).

     Other vendor implementations of dirname() may modify the contents of the
     string passed to dirname(); this should be	taken into account when	writ-
     ing code which calls this function	if portability is desired.

SEE ALSO
     basename(1), dirname(1), basename(3)

STANDARDS
     The dirname() function conforms to	X/Open Portability Guide Issue 4,
     Version 2 ("XPG4.2").

HISTORY
     The dirname() function first appeared in OpenBSD 2.2 and FreeBSD 4.2.

AUTHORS
     Todd C. Miller <Todd.Miller@courtesan.com>

BSD				August 17, 1997				   BSD

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | WARNINGS | SEE ALSO | STANDARDS | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=dirname&sektion=3&manpath=FreeBSD+5.0-RELEASE>

home | help