One of my scripts noticed that the following code does not make sense in dlls/winmm/waveform.c: static DWORD WINMM_NotifyClient(WINMM_CBInfo *info, WORD msg, DWORD_PTR param1, DWORD_PTR param2) { if(info->flags & DCB_NULL) return MMSYSERR_NOERROR; That's because DCB_NULL is 0 so this condition is always false. What was the intent? -- Francois Gouget <fgouget(a)free.fr> http://fgouget.free.fr/ RFC 2549: ftp://ftp.isi.edu/in-notes/rfc2549.txt IP over Avian Carriers with Quality of Service
On 07/14/2011 05:13 AM, Francois Gouget wrote:
One of my scripts noticed that the following code does not make sense in dlls/winmm/waveform.c:
static DWORD WINMM_NotifyClient(WINMM_CBInfo *info, WORD msg, DWORD_PTR param1, DWORD_PTR param2) { if(info->flags& DCB_NULL) return MMSYSERR_NOERROR;
That's because DCB_NULL is 0 so this condition is always false. What was the intent?
The intent is not to perform a callback if the callback type is DCB_NULL. But that check is wrong. It should be like "(info->flags & DCB_TYPEMASK) == DCB_NULL". I'll put together a patch to send off after today's updates. Thanks, Andrew
participants (2)
-
Andrew Eikum -
Francois Gouget