=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: odbc32: Add winediag message when no drivers could be found.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jan 22 15:20:45 CST 2015


Module: wine
Branch: master
Commit: b5732b1c2ee7ca631bdabc0e45483a2ccaefcd40
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=b5732b1c2ee7ca631bdabc0e45483a2ccaefcd40

Author: André Hentschel <nerv at 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;
 }
 
 /*************************************************************************




More information about the wine-cvs mailing list