| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 // Utility script to echo stdin to stdout or stderr or both. | 5 // Utility script to echo stdin to stdout or stderr or both. |
| 6 | 6 |
| 7 import "dart:io"; | 7 import "dart:io"; |
| 8 | 8 |
| 9 main() { | 9 main(List<String> arguments) { |
| 10 var options = new Options(); | |
| 11 if (stdioType(stdin) is !StdioType) exit(1); | 10 if (stdioType(stdin) is !StdioType) exit(1); |
| 12 if (stdioType(stdout) is !StdioType) exit(1); | 11 if (stdioType(stdout) is !StdioType) exit(1); |
| 13 if (stdioType(stderr) is !StdioType) exit(1); | 12 if (stdioType(stderr) is !StdioType) exit(1); |
| 14 if (stdioType(stdin).name != options.arguments[1]) { | 13 if (stdioType(stdin).name != arguments[1]) { |
| 15 throw stdioType(stdin).name; | 14 throw stdioType(stdin).name; |
| 16 } | 15 } |
| 17 if (stdioType(stdout).name != options.arguments[2]) { | 16 if (stdioType(stdout).name != arguments[2]) { |
| 18 throw stdioType(stdout).name; | 17 throw stdioType(stdout).name; |
| 19 } | 18 } |
| 20 if (stdioType(stderr).name != options.arguments[3]) { | 19 if (stdioType(stderr).name != arguments[3]) { |
| 21 throw stdioType(stderr).name; | 20 throw stdioType(stderr).name; |
| 22 } | 21 } |
| 23 if (options.arguments.length > 0) { | 22 if (arguments.length > 0) { |
| 24 if (options.arguments[0] == "0") { | 23 if (arguments[0] == "0") { |
| 25 stdin.pipe(stdout); | 24 stdin.pipe(stdout); |
| 26 } else if (options.arguments[0] == "1") { | 25 } else if (arguments[0] == "1") { |
| 27 stdin.pipe(stderr); | 26 stdin.pipe(stderr); |
| 28 } else if (options.arguments[0] == "2") { | 27 } else if (arguments[0] == "2") { |
| 29 stdin.listen((data) { | 28 stdin.listen((data) { |
| 30 stdout.add(data); | 29 stdout.add(data); |
| 31 stderr.add(data); | 30 stderr.add(data); |
| 32 }); | 31 }); |
| 33 } | 32 } |
| 34 } | 33 } |
| 35 } | 34 } |
| OLD | NEW |