diff options
author | Chris Johns <chrisj@rtems.org> | 2022-09-30 17:01:20 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2022-09-30 17:01:20 +1000 |
commit | af0f612c4656d556efcaa03119475ca6fbdc7928 (patch) | |
tree | 3f802bb21b0635d142b1a04a03fbb256645f2321 | |
parent | sb/execute: Use a decoder that maintains state aross blocks (diff) | |
download | rtems-source-builder-af0f612c4656d556efcaa03119475ca6fbdc7928.tar.bz2 |
sb/execute: Fix incremental decoder with --dry-run
Closes #4734
-rwxr-xr-x | source-builder/sb/execute.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source-builder/sb/execute.py b/source-builder/sb/execute.py index f470aba..e3809ec 100755 --- a/source-builder/sb/execute.py +++ b/source-builder/sb/execute.py @@ -182,7 +182,10 @@ class execute(object): if trace_threads: print('execute:_readthread: start') - decoder = codecs.getincrementaldecoder(sys.stdout.encoding)() + if sys.stdout.encoding is not None: + decoder = codecs.getincrementaldecoder(sys.stdout.encoding)() + else: + decoder = None count = 0 line = '' try: @@ -202,7 +205,7 @@ class execute(object): _output_line(line + '\n', exe, prefix, out, count) break # str and bytes are the same type in Python2 - if type(data) is not str and type(data) is bytes: + if decoder is not None and type(data) is not str and type(data) is bytes: data = decoder.decode(data) last_ch = data[-1] sd = (line + data).split('\n') |