diff options
| author | R David Murray <rdmurray@bitdance.com> | 2014-04-14 02:09:29 (GMT) |
|---|---|---|
| committer | R David Murray <rdmurray@bitdance.com> | 2014-04-14 02:09:29 (GMT) |
| commit | e084e97f9f502908534bc87596c5bb7b6ff9a684 (patch) | |
| tree | 687757481ac5041a7a7b8656cda4a8f51ba86b32 /Lib/getpass.py | |
| parent | fc8e9883bef8058723a38f6c8db6549ad611a633 (diff) | |
| parent | d5aa487cceac54fdf2b5c073157b899b3c8c9c94 (diff) | |
| download | cpython-e084e97f9f502908534bc87596c5bb7b6ff9a684.zip cpython-e084e97f9f502908534bc87596c5bb7b6ff9a684.tar.gz cpython-e084e97f9f502908534bc87596c5bb7b6ff9a684.tar.bz2 | |
Mierge #21169: fix getpass to use replace error handler on UnicodeEncodeError.
Diffstat (limited to 'Lib/getpass.py')
| -rw-r--r-- | Lib/getpass.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Lib/getpass.py b/Lib/getpass.py index 53c38b8..2740363 100644 --- a/Lib/getpass.py +++ b/Lib/getpass.py @@ -135,7 +135,12 @@ def _raw_input(prompt="", stream=None, input=None): input = sys.stdin prompt = str(prompt) if prompt: - stream.write(prompt) + try: + stream.write(prompt) + except UnicodeEncodeError: + prompt = prompt.encode(stream.encoding, 'replace') + prompt = prompt.decode(stream.encoding) + stream.write(prompt) stream.flush() # NOTE: The Python C API calls flockfile() (and unlock) during readline. line = input.readline() |
