[rtems-source-builder commit] sb/execute: Use a decoder that maintains state aross blocks

Chris Johns chrisj at rtems.org
Thu Sep 29 23:13:10 UTC 2022


Module:    rtems-source-builder
Branch:    5
Commit:    ddfcc320ab740cd6ac30d70aaff7987dda25ee7f
Changeset: http://git.rtems.org/rtems-source-builder/commit/?id=ddfcc320ab740cd6ac30d70aaff7987dda25ee7f

Author:    Chris Johns <chrisj at rtems.org>
Date:      Thu Sep 29 20:57:56 2022 +1000

sb/execute: Use a decoder that maintains state aross blocks

Update #4734

---

 source-builder/sb/execute.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/source-builder/sb/execute.py b/source-builder/sb/execute.py
index 06f9b7d..f470aba 100755
--- a/source-builder/sb/execute.py
+++ b/source-builder/sb/execute.py
@@ -27,6 +27,7 @@
 from __future__ import print_function
 
 import functools
+import codecs
 import io
 import os
 import re
@@ -181,6 +182,7 @@ class execute(object):
 
             if trace_threads:
                 print('execute:_readthread: start')
+            decoder = codecs.getincrementaldecoder(sys.stdout.encoding)()
             count = 0
             line = ''
             try:
@@ -201,7 +203,7 @@ class execute(object):
                         break
                     # str and bytes are the same type in Python2
                     if type(data) is not str and type(data) is bytes:
-                        data = data.decode(sys.stdout.encoding)
+                        data = decoder.decode(data)
                     last_ch = data[-1]
                     sd = (line + data).split('\n')
                     if last_ch != '\n':



More information about the vc mailing list