Module: wine Branch: master Commit: b5732b1c2ee7ca631bdabc0e45483a2ccaefcd40 URL: http://source.winehq.org/git/wine.git/?a=commit;h=b5732b1c2ee7ca631bdabc0e45...
Author: André Hentschel nerv@dawncrow.de Date: Wed Jan 21 23:16:41 2015 +0100
odbc32: Add winediag message when no drivers could be found.
---
dlls/odbc32/proxyodbc.c | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/dlls/odbc32/proxyodbc.c b/dlls/odbc32/proxyodbc.c index 89cf154..66b3a65 100644 --- a/dlls/odbc32/proxyodbc.c +++ b/dlls/odbc32/proxyodbc.c @@ -49,6 +49,7 @@ static BOOL ODBC_LoadDriverManager(void); static BOOL ODBC_LoadDMFunctions(void);
WINE_DEFAULT_DEBUG_CHANNEL(odbc); +WINE_DECLARE_DEBUG_CHANNEL(winediag);
static SQLRETURN (*pSQLAllocConnect)(SQLHENV,SQLHDBC*); static SQLRETURN (*pSQLAllocEnv)(SQLHENV*); @@ -1914,11 +1915,19 @@ SQLRETURN WINAPI SQLDrivers( SQLSMALLINT cbDriverAttrMax, SQLSMALLINT *pcbDriverAttr) { - TRACE("\n"); + SQLRETURN ret; + + TRACE("direction=%d\n", fDirection);
if (!pSQLDrivers) return SQL_ERROR; - return pSQLDrivers(henv, fDirection, szDriverDesc, cbDriverDescMax, pcbDriverDesc, - szDriverAttributes, cbDriverAttrMax, pcbDriverAttr); + ret = pSQLDrivers(henv, fDirection, szDriverDesc, cbDriverDescMax, pcbDriverDesc, + szDriverAttributes, cbDriverAttrMax, pcbDriverAttr); + + if (ret == SQL_NO_DATA && fDirection == SQL_FETCH_FIRST) + ERR_(winediag)("No ODBC drivers could be found. " + "Check the settings for your libodbc provider.\n"); + + return ret; }
@@ -2647,11 +2656,19 @@ SQLRETURN WINAPI SQLDriversW( SQLSMALLINT cbDriverAttrMax, SQLSMALLINT *pcbDriverAttr) { - TRACE("\n"); + SQLRETURN ret; + + TRACE("direction=%d\n", fDirection);
if (!pSQLDriversW) return SQL_ERROR; - return pSQLDriversW(henv, fDirection, szDriverDesc, cbDriverDescMax, pcbDriverDesc, - szDriverAttributes, cbDriverAttrMax, pcbDriverAttr); + ret = pSQLDriversW(henv, fDirection, szDriverDesc, cbDriverDescMax, pcbDriverDesc, + szDriverAttributes, cbDriverAttrMax, pcbDriverAttr); + + if (ret == SQL_NO_DATA && fDirection == SQL_FETCH_FIRST) + ERR_(winediag)("No ODBC drivers could be found. " + "Check the settings for your libodbc provider.\n"); + + return ret; }
/*************************************************************************