File tree Expand file tree Collapse file tree 1 file changed +18
-5
lines changed 
src/Xamarin.Android.Tools.Bytecode Expand file tree Collapse file tree 1 file changed +18
-5
lines changed Original file line number Diff line number Diff line change @@ -66,12 +66,9 @@ public void Load (Stream jarStream, bool leaveOpen = false)
6666
6767			using  ( var  jar  =  CreateZipArchive  ( jarStream ,  leaveOpen ) )  { 
6868				foreach  ( var  entry  in  jar . Entries )  { 
69- 					if  ( entry . Length   ==   0 ) 
69+ 					if  ( ! ShouldLoadEntry   ( entry ) ) 
7070						continue ; 
71- 					using  ( var  s  =  entry . Open  ( ) )  { 
72- 						if  ( ! ClassFile . IsClassFile  ( s )  ||  entry . Name . EndsWith  ( ".jnilib" ,  StringComparison . OrdinalIgnoreCase ) ) 
73- 							continue ; 
74- 					} 
71+ 
7572					using  ( var  entry_stream  =  entry . Open  ( ) ) 
7673					using  ( var  s  =  new  BufferedStream  ( entry_stream ) )  { 
7774						try  { 
@@ -86,6 +83,22 @@ public void Load (Stream jarStream, bool leaveOpen = false)
8683			} 
8784		} 
8885
86+ 		static   bool  ShouldLoadEntry  ( ZipArchiveEntry  entry ) 
87+ 		{ 
88+ 			if  ( entry . Length  ==  0 ) 
89+ 				return  false ; 
90+ 
91+ 			if  ( entry . Name  ==  "module-info.class" ) 
92+ 				return  false ; 
93+ 
94+ 			if  ( entry . Name . EndsWith  ( ".jnilib" ,  StringComparison . OrdinalIgnoreCase ) ) 
95+ 				return  false ; 
96+ 
97+ 			using  var  s  =  entry . Open  ( ) ; 
98+ 
99+ 			return  ClassFile . IsClassFile  ( s ) ; 
100+ 		} 
101+ 
89102		static   ZipArchive  CreateZipArchive  ( Stream  jarStream ,  bool  leaveOpen ) 
90103		{ 
91104			var  encoding     =  new  UTF8Encoding  ( encoderShouldEmitUTF8Identifier :  false ) ; 
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments