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