diff --git a/lib/os.js b/lib/os.js index 673b7dd7d5e..279b6357557 100644 --- a/lib/os.js +++ b/lib/os.js @@ -21,6 +21,7 @@ var binding = process.binding('os'); var util = require('util'); +var isWindows = process.platform === 'win32'; exports.endianness = binding.getEndianness; exports.hostname = binding.getHostname; @@ -42,11 +43,17 @@ exports.platform = function() { }; exports.tmpdir = function() { - return process.env.TMPDIR || - process.env.TMP || - process.env.TEMP || - (process.platform === 'win32' ? 'c:\\windows\\temp' : '/tmp'); -}; + if (isWindows) { + return process.env.TEMP || + process.env.TMP || + (process.env.SystemRoot || process.env.windir) + "\\temp"; + } else { + return process.env.TMPDIR || + process.env.TMP || + process.env.TEMP || + '/tmp'; + } +} exports.tmpDir = exports.tmpdir; @@ -54,4 +61,4 @@ exports.getNetworkInterfaces = util.deprecate(function() { return exports.networkInterfaces(); }, 'getNetworkInterfaces is now called `os.networkInterfaces`.'); -exports.EOL = process.platform === 'win32' ? '\r\n' : '\n'; +exports.EOL = isWindows ? '\r\n' : '\n';