1
0
Эх сурвалжийг харах

ENH: handle running from a directory that has been deleted

Bill Hoffman 19 жил өмнө
parent
commit
6c6eebac20

+ 14 - 2
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);