Piotr Caban piotr@codeweavers.com writes:
+UINT WINAPI GetStateTextW(DWORD state_bit, WCHAR *state_str, UINT state_str_len) +{
- DWORD state_id;
- TRACE("%x %p %u\n", state_bit, state_str, state_str_len);
- state_id = IDS_STATE_MIN;
- while(state_bit) {
state_id++;state_bit /= 2;- }
- if(state_id>=IDS_STATE_MIN && state_id<=IDS_STATE_MAX) {
UINT ret;if(state_str) {ret = LoadStringW(oleacc_handle, state_id, state_str, state_str_len);}else {WCHAR tmp;ret = LoadStringW(oleacc_handle, state_id, &tmp, 0);}if(!ret && state_str && state_str_len)state_str[0] = 0;return ret;- }
The id range check doesn't seem very useful. Also it would be worth testing that a 0 length is supposed to return the string pointer the way LoadString does.