Rolf Kalbermatter <[EMAIL PROTECTED]> writes: > - if (ret) > + if (ret || (!lpDisplayName && size)) > { > if (lpDisplayName && *lpcchBuffer) *lpDisplayName = 0; > > - if (ret == ERROR_MORE_DATA) > + if ((!ret && !lpDisplayName) || ret == ERROR_MORE_DATA)
These complex conditions make it really hard to figure out what the code is doing. You should probably handle the NULL pointer as a separate case. -- Alexandre Julliard [EMAIL PROTECTED]