diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2006-04-27 15:26:53 -0400 |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2006-04-27 15:26:53 -0400 |
commit | 6c6eebac202e5988bfa2381cfe1d0bdafe40f01c (patch) | |
tree | 61ad38248443c9eec2de19c67b634a3602710346 /Source | |
parent | 2ae84e5ba686ef6fdf3604e24aea640850a7cf53 (diff) | |
download | cmake-6c6eebac202e5988bfa2381cfe1d0bdafe40f01c.tar.gz |
ENH: handle running from a directory that has been deleted
Diffstat (limited to 'Source')
-rw-r--r-- | Source/kwsys/SystemTools.cxx | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx index e70d3fc58b..6496f175ea 100644 --- a/Source/kwsys/SystemTools.cxx +++ b/Source/kwsys/SystemTools.cxx @@ -118,7 +118,12 @@ inline int Rmdir(const char* dir) } inline const char* Getcwd(char* buf, unsigned int len) { - return _getcwd(buf, len); + const char* ret _getcwd(buf, len); + if(!ret) + { + fprintf(stderr, "No current working directory.\n"); + abort(); + } } inline int Chdir(const char* dir) { @@ -152,8 +157,15 @@ inline int Rmdir(const char* dir) } inline const char* Getcwd(char* buf, unsigned int len) { - return getcwd(buf, len); + const char* ret = getcwd(buf, len); + if(!ret) + { + fprintf(stderr, "No current working directory\n"); + abort(); + } + return ret; } + inline int Chdir(const char* dir) { return chdir(dir); |