From c17cf464a5d168c530dacaa64d888226fbf9f8e2 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sat, 26 Apr 2025 17:32:49 +1000 Subject: [PATCH] odbc32: SQLDescribeColW add ANSI fallback --- dlls/odbc32/proxyodbc.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c index 25a76c8d111..0014bb0439f 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c @@ -5980,11 +5980,21 @@ static SQLRETURN describe_col_win32_w( struct statement *stmt, SQLUSMALLINT col_ SQLSMALLINT buf_len, SQLSMALLINT *name_len, SQLSMALLINT *data_type, SQLULEN *col_size, SQLSMALLINT *decimal_digits, SQLSMALLINT *nullable ) { + SQLRETURN ret = SQL_ERROR; + if (stmt->hdr.win32_funcs->SQLDescribeColW) return stmt->hdr.win32_funcs->SQLDescribeColW( stmt->hdr.win32_handle, col_number, col_name, buf_len, name_len, data_type, col_size, decimal_digits, nullable ); - if (stmt->hdr.win32_funcs->SQLDescribeCol) FIXME( "Unicode to ANSI conversion not handled\n" ); - return SQL_ERROR; + if (stmt->hdr.win32_funcs->SQLDescribeCol) + { + SQLCHAR *name = (SQLCHAR*)strdupWtoA( (WCHAR*)col_name ); + + ret = stmt->hdr.win32_funcs->SQLDescribeCol( stmt->hdr.win32_handle, col_number, name, buf_len, name_len, + data_type, col_size, decimal_digits, nullable); + + free(name); + } + return ret; } /************************************************************************* -- 2.47.2