Преглед изворни кода

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 пре 14 година
родитељ
комит
eb6a811279
1 измењених фајлова са 16 додато и 0 уклоњено
  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;
   }
 }