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 part 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.

IMPLEMENTATION NOTES
     The dirname() function returns a pointer to internal storage space	allo-
     cated on the first	call that will be overwritten by subsequent calls.

     Other vendor implementations of dirname() may store their result in the
     input buffer, making it safe to use in multithreaded applications.	 Fu-
     ture versions of FreeBSD will follow this approach	as well.

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.

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

BSD				 July 29, 2016				   BSD

NAME | SYNOPSIS | DESCRIPTION | IMPLEMENTATION NOTES | RETURN VALUES | ERRORS | 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+11.0-RELEASE>

home | help