aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-03-28 10:43:29 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-03-28 10:43:29 -0700
commit85452a0b99426b5caa9cec5aa94730e850776981 (patch)
treea2c5b3b7f0741a6c267920f99c5991a642fe9afe
parent5c9d9498eeca1f5c0b5f21bbddd1b38c7cca7d89 (diff)
read stdin differently in windows in eliminator
-rw-r--r--tools/eliminator/eliminator.coffee15
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) ->