| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/gavin/workspace/readjs/node_modules/win-detect-browsers/lib/ |
Upload File : |
var exec = require('./exec')
, running = false
, queue = []
, debug = require('debug')('win-detect-browsers')
// Retrieve version number with WMIC. Runs
// sequential, because WMIC can't handle
// concurrent calls on WinXP.
module.exports = function(path, cb) {
queue.push([path, cb])
run()
}
function run() {
if (running) return
running = true
var item = queue.shift()
if (item == null) {
running = false
return
}
var path = item[0], cb = item[1]
// Escape much?
var escaped = path.replace(/\\|\//g, '\\\\')
var args = [
'datafile where Name="' + escaped + '"',
'get Version /format:value'
]
debug("get version with 'wmic %s'", args.join(' '))
exec('wmic', args, function(err, out){
if (err) cb(err)
else {
// "Version=xx"
var version = out.split('=')[1]
if (!version) cb(new Error('Could not parse version: "'+out+'"'))
else cb(null, version)
}
running = false
setImmediate(run)
})
}