winmm: Don't convert return string in mciSendStringA on error.

This commit is contained in:
Dan Kegel 2009-07-03 21:52:38 -07:00 committed by Alexandre Julliard
parent c9257aed85
commit ea5a6f2db5
2 changed files with 2 additions and 2 deletions

View file

@ -1506,7 +1506,7 @@ DWORD WINAPI mciSendStringA(LPCSTR lpstrCommand, LPSTR lpstrRet,
}
}
ret = mciSendStringW(lpwstrCommand, lpwstrRet, uRetLen, hwndCallback);
if (lpwstrRet)
if (!ret && lpwstrRet)
WideCharToMultiByte( CP_ACP, 0, lpwstrRet, -1, lpstrRet, uRetLen, NULL, NULL );
HeapFree(GetProcessHeap(), 0, lpwstrCommand);
HeapFree(GetProcessHeap(), 0, lpwstrRet);

View file

@ -53,7 +53,7 @@ START_TEST(mci)
memset(buf, 0, sizeof(buf));
err = mciSendString(command_close_all, buf, sizeof(buf), hwnd);
todo_wine ok(!err,"mciSendString(%s, buf, sizeof(buf) , NULL) returned error: %d\n", command_close_all, err);
todo_wine ok(buf[0] == 0, "mciSendString(%s, buf, sizeof(buf) , NULL) changed output buffer: %s\n", command_close_all, buf);
ok(buf[0] == 0, "mciSendString(%s, buf, sizeof(buf) , NULL) changed output buffer: %s\n", command_close_all, buf);
memset(buf, 0, sizeof(buf));
err = mciSendString(command_sysinfo, buf, sizeof(buf), NULL);