diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-03-28 10:43:29 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-03-28 10:43:29 -0700 |
commit | 85452a0b99426b5caa9cec5aa94730e850776981 (patch) | |
tree | a2c5b3b7f0741a6c267920f99c5991a642fe9afe | |
parent | 5c9d9498eeca1f5c0b5f21bbddd1b38c7cca7d89 (diff) |
read stdin differently in windows in eliminator
-rw-r--r-- | tools/eliminator/eliminator.coffee | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/tools/eliminator/eliminator.coffee b/tools/eliminator/eliminator.coffee index b941ccc0..08407cd2 100644 --- a/tools/eliminator/eliminator.coffee +++ b/tools/eliminator/eliminator.coffee @@ -19,6 +19,7 @@ # Imports. uglify = require 'uglify-js' fs = require 'fs' +os = require 'os' # Functions which have been generated by Emscripten. We optimize only those. generatedFunctions = [] @@ -369,12 +370,14 @@ class ExpressionOptimizer # function, then writes the optimized result to stdout. main = -> # Get the parse tree. - src = fs.readFileSync('/dev/stdin').toString() - # The following seems to work on windows, but fails on linux.. - #src = '' - #size = fs.fstatSync(process.stdin.fd).size - #if size > 0 - # src = fs.readSync(process.stdin.fd, size)[0] + if os.platform() != 'windows' + src = fs.readFileSync('/dev/stdin').toString() + else + # The following seems to work on windows, but fails on linux.. + src = '' + size = fs.fstatSync(process.stdin.fd).size + if size > 0 + src = fs.readSync(process.stdin.fd, size)[0] throw 'Cannot identify generated functions' if GENERATED_FUNCTIONS_MARKER in src generatedFunctionsLine = src.split('\n').filter (line) -> |