James Hawkins wrote:

-            if ((hr = callback(hinf, buffer, arg)) != S_OK)
+            if (FAILED(hr = callback(hinf, buffer, arg)))

It's usually a bad idea to do function calls or assignments inside macros... in this case it's safe, but sometimes the macro is something like:

#define FAILED(hr) (((hr)>0xf00) && (hr)<0xb00))

then the function would get called twice...

It's even more fun if you do:

FAILED(hr++)

Mike


Reply via email to