| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 class _Platform { | 5 class _Platform { |
| 6 static int _numberOfProcessors() native "Platform_NumberOfProcessors"; | 6 static int _numberOfProcessors() native "Platform_NumberOfProcessors"; |
| 7 static String _pathSeparator() native "Platform_PathSeparator"; | 7 static String _pathSeparator() native "Platform_PathSeparator"; |
| 8 static String _operatingSystem() native "Platform_OperatingSystem"; | 8 static String _operatingSystem() native "Platform_OperatingSystem"; |
| 9 static _localHostname() native "Platform_LocalHostname"; | 9 static _localHostname() native "Platform_LocalHostname"; |
| 10 static _environment() native "Platform_Environment"; | 10 static _environment() native "Platform_Environment"; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 } | 30 } |
| 31 } | 31 } |
| 32 | 32 |
| 33 static Map<String, String> get environment() { | 33 static Map<String, String> get environment() { |
| 34 var env = _environment(); | 34 var env = _environment(); |
| 35 if (env is OSError) { | 35 if (env is OSError) { |
| 36 throw env; | 36 throw env; |
| 37 } else { | 37 } else { |
| 38 var result = new Map(); | 38 var result = new Map(); |
| 39 for (var str in env) { | 39 for (var str in env) { |
| 40 // When running on Windows through cmd.exe there are strange |
| 41 // environment variables that are used to record the current |
| 42 // working directory for each drive and the exit code for the |
| 43 // last command. As an example: '=A:=A:\subdir' records the |
| 44 // current working directory on the 'A' drive. In order to |
| 45 // handle these correctly we search for a second occurrence of |
| 46 // of '=' in the string if the first occurrence is at index 0. |
| 40 var equalsIndex = str.indexOf('='); | 47 var equalsIndex = str.indexOf('='); |
| 48 if (equalsIndex == 0) { |
| 49 equalsIndex = str.indexOf('=', 1); |
| 50 } |
| 41 assert(equalsIndex != -1); | 51 assert(equalsIndex != -1); |
| 42 result[str.substring(0, equalsIndex)] = str.substring(equalsIndex + 1); | 52 result[str.substring(0, equalsIndex)] = str.substring(equalsIndex + 1); |
| 43 } | 53 } |
| 44 return result; | 54 return result; |
| 45 } | 55 } |
| 46 } | 56 } |
| 47 } | 57 } |
| OLD | NEW |