Rebase against 88a28aa5757ae74d9997b470d70216f10974247f.

This commit is contained in:
Alistair Leslie-Hughes 2024-07-17 08:25:49 +10:00
parent 1d529ee294
commit fe62b910f5
2 changed files with 1 additions and 57 deletions

View File

@ -1,56 +0,0 @@
From d6472baea228710d76bfb62f0d1c342374aebf96 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 12 Jul 2024 14:23:01 +1000
Subject: [PATCH] odbc32: SQLError/W handle NULL handles
---
dlls/odbc32/proxyodbc.c | 26 ++++++++++++++++++++------
1 file changed, 20 insertions(+), 6 deletions(-)
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c
index 045738b45f7..9a8b9c952c3 100644
--- a/dlls/odbc32/proxyodbc.c
+++ b/dlls/odbc32/proxyodbc.c
@@ -1217,8 +1217,16 @@ SQLRETURN WINAPI SQLError(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle, S
}
else if ((env && env->win32_handle) || (con && con->win32_handle) || (stmt && stmt->win32_handle))
{
- 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;
+
+ ret = win32_funcs->SQLError( env ? env->win32_handle : NULL,
+ con ? con->win32_handle : NULL,
+ stmt ? stmt->win32_handle : NULL,
+ SqlState, NativeError, MessageText, BufferLength, TextLength );
}
if (SUCCESS( ret ))
@@ -3781,10 +3789,16 @@ SQLRETURN WINAPI SQLErrorW(SQLHENV EnvironmentHandle, SQLHDBC ConnectionHandle,
}
else if ((env && env->win32_handle) || (con && con->win32_handle) || (stmt && stmt->win32_handle))
{
- ret = env->win32_funcs->SQLErrorW( env ? env->win32_handle : NULL,
- con ? con->win32_handle : NULL,
- stmt ? stmt->win32_handle : NULL,
- 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;
+
+ ret = win32_funcs->SQLErrorW( env ? env->win32_handle : NULL,
+ con ? con->win32_handle : NULL,
+ stmt ? stmt->win32_handle : NULL,
+ SqlState, NativeError, MessageText, BufferLength, TextLength );
}
if (SUCCESS(ret ))
--
2.43.0

View File

@ -1 +1 @@
8070ed27bc4bb8c9c43c20734d340b62b379fcfc
88a28aa5757ae74d9997b470d70216f10974247f