diff options
Diffstat (limited to 'src/util.hh')
-rw-r--r-- | src/util.hh | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/util.hh b/src/util.hh index d1a195609503..5b41fcea895b 100644 --- a/src/util.hh +++ b/src/util.hh @@ -12,13 +12,21 @@ using namespace std; class Error : public exception { +protected: string err; public: + Error() { } Error(string _err) { err = _err; } - ~Error() throw () { }; + ~Error() throw () { } const char * what() const throw () { return err.c_str(); } }; +class SysError : public Error +{ +public: + SysError(string msg); +}; + class UsageError : public Error { public: @@ -33,15 +41,20 @@ typedef vector<string> Strings; extern string thisSystem; -/* The prefix of the Nix installation, and the environment variable - that can be used to override the default. */ -extern string nixHomeDir; -extern string nixHomeDirEnvVar; +/* Return an absolutized path, resolving paths relative to the + specified directory, or the current directory otherwise. */ +string absPath(string path, string dir = ""); + +/* Return the directory part of the given path, i.e., everything + before the final `/'. */ +string dirOf(string path); + +/* Return the base name of the given path, i.e., everything following + the final `/'. */ +string baseNameOf(string path); -string absPath(string filename, string dir = ""); -string dirOf(string s); -string baseNameOf(string s); +void debug(string s); #endif /* !__UTIL_H */ |