Преглед на файлове

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;
   }
 }