From: Anatol Belski Date: Wed, 20 Dec 2017 21:32:10 +0000 (+0100) Subject: Tell the diff by returning NULL, if system has no ODBC data sources X-Git-Tag: php-7.3.0alpha1~763 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e68084780f29a6ed99dc2368a6df8f43b58d4377;p=php Tell the diff by returning NULL, if system has no ODBC data sources --- diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c index a2eb8ee41b..1cb127a012 100644 --- a/ext/odbc/php_odbc.c +++ b/ext/odbc/php_odbc.c @@ -1592,7 +1592,11 @@ PHP_FUNCTION(odbc_data_source) (SQLSMALLINT)sizeof(desc), &len2); - if (rc != SQL_SUCCESS) { + if (SQL_NO_DATA == rc) { + /* System has no data sources, no error. Signal it by returning NULL, + not false. */ + RETURN_NULL(); + } else if (rc != SQL_SUCCESS) { /* ummm.... he did it */ odbc_sql_error(conn, SQL_NULL_HSTMT, "SQLDataSources"); RETURN_FALSE; diff --git a/ext/odbc/tests/odbc_data_source_001.phpt b/ext/odbc/tests/odbc_data_source_001.phpt index b3e29dde5c..6900f13205 100644 --- a/ext/odbc/tests/odbc_data_source_001.phpt +++ b/ext/odbc/tests/odbc_data_source_001.phpt @@ -1,7 +1,12 @@ --TEST-- odbc_data_source(): Basic test --SKIPIF-- - + --FILE--