summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/FS.py
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2017-08-24 17:13:35 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2017-08-24 17:13:35 (GMT)
commitd8b5708708f3a71ae04a5b8d44a89d5a3d315adb (patch)
treed334bd22bfc4c4cd30252929558cd93141407475 /src/engine/SCons/Node/FS.py
parent38acad8afd2f64dd6e126e359f9d25be177aff2a (diff)
downloadSCons-d8b5708708f3a71ae04a5b8d44a89d5a3d315adb.zip
SCons-d8b5708708f3a71ae04a5b8d44a89d5a3d315adb.tar.gz
SCons-d8b5708708f3a71ae04a5b8d44a89d5a3d315adb.tar.bz2
Updates to get_text_content() logic and tests
Diffstat (limited to 'src/engine/SCons/Node/FS.py')
-rw-r--r--src/engine/SCons/Node/FS.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py
index 606ecfd..c31ac6c 100644
--- a/src/engine/SCons/Node/FS.py
+++ b/src/engine/SCons/Node/FS.py
@@ -2654,9 +2654,12 @@ class File(Base):
if contents[:len(codecs.BOM_UTF16_BE)] == codecs.BOM_UTF16_BE:
return contents[len(codecs.BOM_UTF16_BE):].decode('utf-16-be')
try:
- return contents.decode('utf-8',errors='backslashreplace')
- except (UnicodeDecodeError, AttributeError) as e:
- return contents
+ return contents.decode('utf-8')
+ except UnicodeDecodeError as e:
+ try:
+ return contents.decode('latin-1')
+ except UnicodeDecodeError as e:
+ return contents.decode('utf-8', error='backslashreplace')
def get_content_hash(self):