File tree Expand file tree Collapse file tree 2 files changed +30
-2
lines changed
Expand file tree Collapse file tree 2 files changed +30
-2
lines changed Original file line number Diff line number Diff line change @@ -184,7 +184,19 @@ bool File_Mz::FileHeader_Begin()
184184void File_Mz::Read_Buffer_Continue ()
185185{
186186 if (rsrc_offset) {
187- Parse_Resources ();
187+ Parse_Resources ();
188+ rsrc_offset = 0 ;
189+
190+ if (sbat_offset)
191+ GoTo (sbat_offset);
192+ else
193+ Finish (" MZ" );
194+
195+ return ;
196+ }
197+ if (sbat_offset) {
198+ Parse_SBAT ();
199+ sbat_offset = 0 ;
188200
189201 Finish (" MZ" );
190202 return ;
@@ -333,6 +345,10 @@ void File_Mz::Read_Buffer_Continue()
333345 rsrc_virtual_addr = VirtualAddress;
334346 rsrc_offset = PointerToRawData;
335347 }
348+ if (Name == 0x2E73626174000000 ) { // .sbat
349+ sbat_offset = PointerToRawData;
350+ sbat_size = VirtualSize;
351+ }
336352 Element_End0 ();
337353 }
338354 }
@@ -368,7 +384,9 @@ void File_Mz::Read_Buffer_Continue()
368384 if (rsrc_offset) {
369385 GoTo (rsrc_offset);
370386 }
371- else {
387+ else if (sbat_offset) {
388+ GoTo (sbat_offset);
389+ } else {
372390 // No more need data
373391 Finish (" MZ" );
374392 }
@@ -551,6 +569,13 @@ bool File_Mz::Parse_StringFileInfo(int8u level) {
551569 return true ;
552570}
553571
572+ // ---------------------------------------------------------------------------
573+ void File_Mz::Parse_SBAT () {
574+ Ztring sbat;
575+ Get_UTF8 (sbat_size, sbat, " SBAT" );
576+ Fill (Stream_General, 0 , " SBAT" , sbat);
577+ }
578+
554579} // NameSpace
555580
556581#endif // MEDIAINFO_MZ_YES
Original file line number Diff line number Diff line change @@ -37,11 +37,14 @@ protected :
3737
3838 void Parse_Resources ();
3939 bool Parse_StringFileInfo (int8u level = 0 );
40+ void Parse_SBAT ();
4041
4142 // Temp
4243 int32u rsrc_size{};
4344 int32u rsrc_virtual_addr{};
4445 int32u rsrc_offset{};
46+ int32u sbat_offset{};
47+ int32u sbat_size{};
4548 map<int32u, Ztring> Named_Resource;
4649 map<int32u, int32u> Resource;
4750};
You can’t perform that action at this time.
0 commit comments