ntdll: rtlstr.c: Implement checking for control characters in RtlIsTextUnicode [try 4]

Roy Shea royshea at gmail.com
Fri Jun 20 10:36:24 CDT 2008

Hello Zac,

> Does anyone have feedback on whether they believe the tests for normal
> control characters vs reversed control characters should be mutually
> exlusive?

I took a look at the documentation.  My read is that the tests are not
mutually exclusive.

Given your current version and my reading of the documentation you would
need two separate goto targets: control_char_done and

Note that all of this is based on my reading of the documentation.
You'll need to dig into some Windows testing.  Off the top of my head I
would try a set of four tests:

and then pass in a string:

- with no controls
- with unicode control
- with reversed unicode control
- with both

This teases out if your IS_TEXT_UNICODE_CONTROLS needs to expand its
conditional with:


and provides evidence as to the mutual exclusivity of the two tests.
For full Windows compliance you could also test:

- only the IS_TEXT_UNICODE_CONTROLS flag and a string with reversed
  unicode controls (does it set the flag for reversed controls?)

- only the IS_TEXT_UNICODE_REVERSE_CONTROLS flag and a string with
  unicode controls (does it set the flag for controls?)

One additional point.  The documentation explicitly notes that:

"Only flags that are set upon input to the function are significant upon

Based on the documentation, setting extra flags should not be a problem.
But for full conformance with Windows, you may not have this

Best of luck!

More information about the wine-devel mailing list