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.