Zac Brown wrote:
> Michael Karcher wrote:
>> Am Donnerstag, den 19.06.2008, 12:52 -0700 schrieb Zac Brown:
>>> - Because these tests are mutually exclusive, a single goto label suffices 
>>> for 
>>> breaking the loop.
>> As written, your tests are not mutually exclusive. It could happen that
>> flags has IS_TEXT_UNICODE_CONTROLS and IS_TEXT_UNICODE_REVERSE_CONTROLS,
>> set and out_flags contains IS_TEXT_UNICODE_REVERSE_SIGNATURE. (If the
>> caller doesn't provide flags, both flags are set, in fact!) In that
>> case, both conditions of your if statements are true.
>>
>> I don't know whether that means that you need two goto targets or that
>> your logic should be changed, but I suspect the latter. If you test for
>> reversed control characters only I a reversed BOM was found, you should
>> not test for non-reversed control characters if a reversed BOM was
>> found, according to my intuition.
>>
>> Regards,
>>   Michael Karcher
>>
>>
>>
> Hmmm this is true. Added a test in the first if statement to do something 
> like:
> 
> if((flags & IS_TEXT_UNICODE_CONTROL) && (out_flags & 
> IS_TEXT_UNICODE_SIGNATRUE)) 
> causes a wine test to fail.
> 
> So either I need a goto at the end of the first if statement before the 
> closing 
> brace, or I need to adjust some other things in the code.
> 
> Any thoughts from anyone on the proper way to approach this ;). I'd like to 
> get 
> this one done before try 10 (haha).
> 
> -Zac
> 
> 

Actually I guess just make it an if..else..if would work too.


Reply via email to