Some changes to migrate towards C++ and a multithreaded model

This commit is contained in:
ridiculousfish
2011-12-26 19:18:46 -08:00
parent 3f16ace678
commit 8d2f107d61
90 changed files with 7368 additions and 5981 deletions

14
path.h
View File

@@ -25,36 +25,40 @@ wchar_t *path_get_config( void *context);
/**
Finds the full path of an executable in a newly allocated string.
\param cmd The name of the executable.
\param context the halloc context to use for memory allocations
\return 0 if the command can not be found, the path of the command otherwise.
*/
wchar_t *path_get_path( void *context, const wchar_t *cmd );
class env_vars;
bool path_get_path_string(const wcstring &cmd, wcstring &output, const env_vars &vars);
/**
Returns the full path of the specified directory, using the CDPATH
variable as a list of base directories for relative paths. The
returned string is allocated using halloc and the specified
context.
If no valid path is found, null is returned and errno is set to
ENOTDIR if at least one such path was found, but it did not point
to a directory, EROTTEN if a arotten symbolic link was found, or
ENOENT if no file of the specified name was found. If both a rotten
symlink and a file are found, it is undefined which error status
will be returned.
\param in The name of the directory.
\param context the halloc context to use for memory allocations
\return 0 if the command can not be found, the path of the command otherwise.
*/
wchar_t *path_get_cdpath( void *context, wchar_t *in );
wchar_t *path_get_cdpath( void *context, const wchar_t *in );
bool path_get_cdpath_string(const wcstring &in, wcstring &out, const env_vars &vars);
/**
Remove doulbe slashes and trailing slashes from a path,
e.g. transform foo//bar/ into foo/bar.
The returned string is allocated using the specified halloc
context.
*/