.TH SEARCHPATH 3
.SH NAME
search \- search for named executable
.SH SYNOPSIS
.B #include <u.h>
.br
.B #include <libc.h>
.PP
.B
char*	searchpath(char *name)
.SH DESCRIPTION
.I Searchpath
searches for the executable
.I name
in the same way that
.IR sh (1)
and
.IR rc (1)
do.
.PP
The environment variable
.B $PATH
is treated as a colon-separated list of directories in which to look for 
.IR name .
An empty string in the list is treated as the current directory.
If an executable named
.I name
is found in one of the directories,
.I searchpath
returns a pointer to a malloced string containing a path
.IB \fR( dir / name \fR,
or simply
.IR name )
suitable for use in 
.IR open (3)
or 
.IR exec (3).
.PP
If
.I name
begins with
.B ./ ,
.B ../ ,
or
.B / ,
then the search path is ignored.
If 
.I name
exists and is an executable, then
.I searchpath
returns a malloced string containing name.
.PP
The returned buffer should be freed when no longer needed.
If
.I name
is not found,
.I searchpath
returns nil.
.PP
.SH SOURCE
.B \*9/src/lib9/searchpath.c
