Zhiju, 

If the file is binary, it's no need to do more process since this function is 
to get "include" information.

Thanks,
Bob

-----Original Message-----
From: Fan, ZhijuX 
Sent: Friday, March 1, 2019 9:33 AM
To: edk2-devel@lists.01.org
Cc: Gao, Liming <liming....@intel.com>; Feng, Bob C <bob.c.f...@intel.com>
Subject: [PATCH] BaseTools:Run packagedoc_cli.py to generate doc failed

The reason for this problem is that the file was opened incorrectly.

Cc: Bob Feng <bob.c.f...@intel.com>
Cc: Liming Gao <liming....@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Zhiju.Fan <zhijux....@intel.com>
---
 .../plugins/EdkPlugins/edk2/model/doxygengen.py                | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git 
a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py
 
b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py
index e31df262bc..f5a62f6c6f 100644
--- 
a/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py
+++ 
b/BaseTools/Scripts/PackageDocumentTools/plugins/EdkPlugins/edk2/model/doxygengen.py
@@ -376,9 +376,13 @@ class PackageDocumentAction(DoxygenAction):
             return
 
         try:
-            f = open(path, 'r')
-            lines = f.readlines()
-            f.close()
+            with open(path, 'r') as f:
+                lines = f.readlines()
+        except UnicodeDecodeError:
+            with open(path, 'rb') as f:
+                lines = f.readlines()
+                for Index, Line in enumerate(lines[:]):
+                    lines[Index] = str(Line)[2:-1]
         except IOError:
             ErrorMsg('Fail to open file %s' % path)
             return
-- 
2.14.1.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to