Explorar o código

Look for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH to
get user's home directory in MinGW32 build.

Usually HOME environment variable is defined in *nix like OSes, but
not in Windows. So in MinGW32 build, if HOME is not defined, we also
look for USERPROFILE and the combination of HOMEDRIVE and HOMEPATH.

Tatsuhiro Tsujikawa %!s(int64=14) %!d(string=hai) anos
pai
achega
eb6a811279
Modificáronse 1 ficheiros con 16 adicións e 0 borrados
  1. 16 0
      src/util.cc

+ 16 - 0
src/util.cc

@@ -986,6 +986,22 @@ std::string getHomeDir()
   if(p) {
     return p;
   } else {
+#ifdef __MINGW32__
+    p = getenv("USERPROFILE");
+    if(p) {
+      return p;
+    } else {
+      p = getenv("HOMEDRIVE");
+      if(p) {
+        std::string homeDir = p;
+        p = getenv("HOMEPATH");
+        if(p) {
+          homeDir += p;
+          return homeDir;
+        }
+      }
+    }
+#endif
     return A2STR::NIL;
   }
 }