+// ----------------------------------------------------------------------------
+// Environment
+// ----------------------------------------------------------------------------
+
+bool wxGetEnvMap(wxEnvVariableHashMap *map)
+{
+ wxCHECK_MSG( map, false, wxS("output pointer can't be NULL") );
+
+#if defined(__VISUALC__)
+ wxChar **env = _tenviron;
+#else // non-MSVC
+ // Not sure if other compilers have _tenviron so use the (more standard)
+ // ANSI version only for them.
+ char ** env = environ;
+#endif
+
+ if ( env )
+ {
+ wxString name,
+ value;
+ while ( *env )
+ {
+ const wxString var(*env);
+
+ name = var.BeforeFirst(wxS('='), &value);
+
+ (*map)[name] = value;
+
+ env++;
+ }
+
+ return true;
+ }
+
+ return false;
+}
+