summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/sybase/config.m44
-rw-r--r--ext/sybase/php_sybase_db.c6
2 files changed, 7 insertions, 3 deletions
diff --git a/ext/sybase/config.m4 b/ext/sybase/config.m4
index 7f497daac2..60b55eca74 100644
--- a/ext/sybase/config.m4
+++ b/ext/sybase/config.m4
@@ -21,4 +21,8 @@ if test "$PHP_SYBASE" != "no"; then
AC_DEFINE(HAVE_LIBDNET_STUB,1,[ ])
])
AC_DEFINE(HAVE_SYBASE,1,[ ])
+ AC_CHECK_LIB(sybdb, tdsdbopen,
+ [ AC_DEFINE(PHP_SYBASE_DBOPEN,tdsdbopen,[ ])
+ AC_DEFINE(DBMFIX,1,[ ]) ],
+ [ AC_DEFINE(PHP_SYBASE_DBOPEN,dbopen,[ ]) ])
fi
diff --git a/ext/sybase/php_sybase_db.c b/ext/sybase/php_sybase_db.c
index a31ce54e65..beb5684568 100644
--- a/ext/sybase/php_sybase_db.c
+++ b/ext/sybase/php_sybase_db.c
@@ -381,7 +381,7 @@ static void php_sybase_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
RETURN_FALSE;
}
/* create the link */
- if ((sybase.link=dbopen(sybase.login,host))==FAIL) {
+ if ((sybase.link=PHP_SYBASE_DBOPEN(sybase.login,host))==FAIL) {
/*php_error(E_WARNING,"Sybase: Unable to connect to server: %s",sybase_error(sybase));*/
efree(hashed_details);
dbloginfree(sybase.login);
@@ -417,7 +417,7 @@ static void php_sybase_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
sybase_ptr = (sybase_link *) le->ptr;
/* test that the link hasn't died */
if (DBDEAD(sybase_ptr->link)==TRUE) {
- if ((sybase_ptr->link=dbopen(sybase_ptr->login,host))==FAIL) {
+ if ((sybase_ptr->link=PHP_SYBASE_DBOPEN(sybase_ptr->login,host))==FAIL) {
/*php_error(E_WARNING,"Sybase: Link to server lost, unable to reconnect");*/
zend_hash_del(&EG(persistent_list), hashed_details, hashed_details_length+1);
efree(hashed_details);
@@ -464,7 +464,7 @@ static void php_sybase_do_connect(INTERNAL_FUNCTION_PARAMETERS,int persistent)
RETURN_FALSE;
}
- if ((sybase.link=dbopen(sybase.login,host))==NULL) {
+ if ((sybase.link=PHP_SYBASE_DBOPEN(sybase.login,host))==NULL) {
/*php_error(E_WARNING,"Sybase: Unable to connect to server: %s",sybase_error(sybase));*/
efree(hashed_details);
RETURN_FALSE;