summaryrefslogtreecommitdiff
path: root/app-doc/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch
diff options
context:
space:
mode:
Diffstat (limited to 'app-doc/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch')
-rw-r--r--app-doc/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/app-doc/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch b/app-doc/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch
new file mode 100644
index 000000000000..5dd7578f24ec
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch
@@ -0,0 +1,23 @@
+Hack to avoid "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 45: invalid start byte"
+in src/._xmlgen.cpp which is binary. This doesn't seem like it should be present at the time the docs
+are generated, but this is simpler for now.
+--- a/doc/translator.py
++++ b/doc/translator.py
+@@ -1454,10 +1454,13 @@ class TrManager:
+
+ # Read content of the file as one string.
+ assert os.path.isfile(fname)
+- f = xopen(fname)
+- cont = f.read()
+- cont = ''.join(cont.split('\n')) # otherwise the 'match' function won't work.
+- f.close()
++ try:
++ with xopen(fname) as f:
++ cont = f.read()
++ cont = ''.join(cont.split('\n')) # otherwise the 'match' function won't work.
++ except UnicodeDecodeError:
++ print("Skipping {0} because of decoding errors".format(fname))
++ return
+
+ # Remove the items for identifiers that were found in the file.
+ while lst_in: