https://issues.apache.org/bugzilla/show_bug.cgi?id=44886





--- Comment #8 from Yegor Kozlov <[EMAIL PROTECTED]>  2008-04-28 01:57:11 PST 
---
//  3. The means of determining this is
//     blip_instance ^ blip_signature == 1, where both of these values appear
to be
//     nontrivial to compute (to me anyway.)

I figured out how to do this check. See what we have:

Metafile signatures are defined in the spec as follows:

typedef enum
   {
   msobiWMF  = 0x216,      // Metafile header then compressed WMF
   msobiEMF  = 0x3D4,      // Metafile header then compressed EMF
   msobiPICT = 0x542,      // Metafile header then compressed PICT
   }
MSOBI;

In your test data EscherMetafileBlip.Options=0x5430

According to the spec:
 0x543 ^ 0x542 == 1; //bingo! need to read extra 16 bytes 


I attached my version of EscherMetafileBlip. Please exercise it against your
test data and confirm it works OK. If it does, I will commit the fix.
Note, I reverted your previous fix. EscherMetafileBlip.field_2_cb always
defines the correct metafile size.   

Also, it would be good to have test data where blip_instance ^ blip_signature
!= 1. Please attach a sample if you find one.

Regards,
Yegor


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to