Filter invalid characters in the terminal input stream (#18892)

Fixes https://github.com/flutter/flutter/issues/18007
This commit is contained in:
Jason Simmons 2018-06-27 18:41:32 -07:00 committed by GitHub
parent 35ad2a786d
commit c9c1068ce4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,7 +3,7 @@
// found in the LICENSE file.
import 'dart:async';
import 'dart:convert' show ascii;
import 'dart:convert' show AsciiDecoder;
import 'package:quiver/strings.dart';
@ -87,7 +87,7 @@ class AnsiTerminal {
///
/// Useful when the console is in [singleCharMode].
Stream<String> get onCharInput {
_broadcastStdInString ??= io.stdin.transform(ascii.decoder).asBroadcastStream();
_broadcastStdInString ??= io.stdin.transform(const AsciiDecoder(allowInvalid: true)).asBroadcastStream();
return _broadcastStdInString;
}