pathfind - search for named file in named directories
cc [flag ...] file ... -lgen [library ...]
char *pathfind (const char *path<b>, const char *name<b>, const char
pathfind searches the directories named in path for the file name. The
directories named in path are separated by colons. mode is a string of
option letters chosen from the set rwxfbcdpugks:
f normal file
b block special
c character special
p FIFO (pipe)
u set user ID bit
g set group ID bit
k sticky bit
s size nonzero
Options read, write, and execute are checked relative to the real (not
the effective) user ID and group ID of the current process.
If the file name, with all the characteristics specified by mode, is
found in any of the directories specified by path, then pathfind returns
a pointer to a string containing the member of path, followed by a slash
character (/), followed by name.
If name begins with a slash, it is treated as an absolute path name, and
path is ignored.
An empty path member is treated as the current directory. rather, the
unadorned name is returned.
To find the ls command using the PATH environment variable:
pathfind (getenv ("PATH"), "ls", "rx")
sh(1), test(1), access(2), mknod(2), stat(2), getenv(3C)
If no match is found, pathname returns a null pointer, ((char *) 0).
The string pointed to by the returned pointer is stored in a static area
that is reused on subsequent calls to pathfind.
PPPPaaaaggggeeee 2222 [ Back ]