From: Ivan Ivlev <iviv@etersoft.ru> Signed-off-by: Ivan Ivlev <iviv@etersoft.ru> --- dlls/odbc32/proxyodbc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c index 2ced00dc3fd..c35b24c4bca 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c @@ -38,7 +38,16 @@ WINE_DEFAULT_DEBUG_CHANNEL(odbc); -#define ODBC_CALL( func, params ) WINE_UNIX_CALL( unix_ ## func, params ) +static inline SQLRETURN odbc_status_to_sqlret( NTSTATUS s ) +{ + if ((LONG)(SHORT)s == (LONG)s) return (SQLRETURN)s; + ERR( "unix-call dispatcher returned non-SQLRETURN NTSTATUS %#lx, " + "mapping to SQL_ERROR\n", (unsigned long)s ); + return SQL_ERROR; +} + +#define ODBC_CALL( func, params ) \ + odbc_status_to_sqlret( WINE_UNIX_CALL( unix_ ## func, params ) ) #define SQL_OJ_CAPABILITIES_OLD 65003 -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10743