summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2022-09-30 17:01:20 +1000
committerChris Johns <chrisj@rtems.org>2022-09-30 17:01:20 +1000
commitaf0f612c4656d556efcaa03119475ca6fbdc7928 (patch)
tree3f802bb21b0635d142b1a04a03fbb256645f2321
parentsb/execute: Use a decoder that maintains state aross blocks (diff)
downloadrtems-source-builder-af0f612c4656d556efcaa03119475ca6fbdc7928.tar.bz2
sb/execute: Fix incremental decoder with --dry-run
Closes #4734
-rwxr-xr-xsource-builder/sb/execute.py7
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')