Joerg-Cyril.Hoehle@t-systems.com writes:
@@ -975,18 +975,31 @@ static WORD MCI_GetMessage(LPCWSTR lpCmd) */ static BOOL MCI_GetDWord(DWORD* data, LPWSTR* ptr) {
- DWORD val;
- LPWSTR ret;
- DWORD val, total = 0;
- LPWSTR ret, src = *ptr;
- int shift = 0;
- val = strtoulW(*ptr, &ret, 10);
colonized:
val = strtoulW(src, &ret, 10);
if (ret == src) return FALSE;
switch (*ret) { case '\0': break;
case '\t': case ' ': ret++; break;
case ':': {
if ((val >= 256) || (shift >= 24)) return FALSE;
total |= val << shift;
shift += 8;
src = ret + 1;
goto colonized;
}
Please use a proper loop, not a goto.