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.