Hans Leidekker (@hans) commented about dlls/odbc32/proxyodbc.c:
ret = env->win32_funcs->SQLError( env->win32_handle, con->win32_handle, stmt->win32_handle, SqlState,NativeError, MessageText, BufferLength, TextLength );
const struct win32_funcs *win32_funcs = NULL;if (env) win32_funcs = env->win32_funcs;else if (con) win32_funcs = con->win32_funcs;else if (stmt) win32_funcs = stmt->win32_funcs;if(win32_funcs)ret = win32_funcs->SQLError( env ? env->win32_handle : NULL,con ? con->win32_handle : NULL,stmt ? stmt->win32_handle : NULL,SqlState, NativeError, MessageText, BufferLength, TextLength );else }ERR("No function map found\n");
The condition for this block ensures that at least one handle is set and we always set win32_funcs when we create a win32 handle. This means that the win32_funcs check is redundant.