From: Dan Kalowsky Date: Tue, 22 Aug 2000 21:27:49 +0000 (+0000) Subject: cleaned up the PHP/SOLID integration code, and corrected some minor assumptions on... X-Git-Tag: php-4.0.2~122 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bee5b60a229c8e0e92d20c60f9355f3a55f9b4c7;p=php cleaned up the PHP/SOLID integration code, and corrected some minor assumptions on my part for the 3.5 EE systems. also removed a series of warnings on builds within the ODBC functions, and corrected header order. include of the SS_LINUX and SS_FBX defines, needed to make solid headers completely happy with the wchar.h situation. THIS DOES NOT FIX BUG ID #4615 --- diff --git a/ext/odbc/config.m4 b/ext/odbc/config.m4 index c1b60c9e33..686e4014a5 100644 --- a/ext/odbc/config.m4 +++ b/ext/odbc/config.m4 @@ -10,15 +10,19 @@ AC_DEFUN(AC_FIND_SOLID_LIBS,[ HP-UX) ac_solid_os=h9x;; # h1x for hpux11, h0x for hpux10 IRIX) ac_solid_os=irx;; Linux) if ldd -v /bin/sh | grep GLIBC > /dev/null; then + AC_DEFINE(SS_LINUX,1,[Needed in sqlunix.h ]) ac_solid_os=l2x else + AC_DEFINE(SS_LINUX,1,[Needed in sqlunix.h ]) ac_solid_os=lux fi;; SunOS) ac_solid_os=ssx;; # should we deal with SunOS 4? - FreeBSD) if [$ac_solid_uname_r < "3."]; then - ac_solid_os=fbx + FreeBSD) if test "$ac_solid_uname_r" \> "3"; then + AC_DEFINE(SS_FBX,1,[Needed in sqlunix.h for wchar defs ]) + ac_solid_os=fex else - ac_solid_os=fex + AC_DEFINE(SS_FBX,1,[Needed in sqlunix.h for wchar defs ]) + ac_solid_os=fbx fi;; # "uname -s" on SCO makes no sense. esac @@ -34,37 +38,21 @@ AC_DEFUN(AC_FIND_SOLID_LIBS,[ ac_solid_prefix=soc fi - ODBC_LIBS=`echo $1/${ac_solid_prefix}${ac_solid_os}${ac_solid_version}*.so | cut -d' ' -f1` + ODBC_LIBS=`echo $1/${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.so | cut -d' ' -f1` if test ! -f $ODBC_LIBS; then ODBC_LIBS=`echo $1/${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.a | cut -d' ' -f1` fi if test ! -f $ODBC_LIBS; then - if test $ac_solid_version == 35; then - ODBC_LIBS=`echo $1/libsolodbc.so | cut -d' ' -f1` - else ODBC_LIBS=`echo $1/${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.so| cut -d' ' -f1` - fi fi if test ! -f $ODBC_LIBS; then - if test $ac_solid_version == 35; then - ODBC_LIBS=`echo $1/libsolodbc.a | cut -d' ' -f1` - else ODBC_LIBS=`echo $1/${ac_solid_prefix}${ac_solid_os}${ac_solid_version}.a | cut -d' ' -f1` - fi fi if test ! -f $ODBC_LIBS; then - if test $ac_solid_version == 35; then - ODBC_LIBS=`echo $1/bcl${ac_solid_prefix}*.so | cut -d' ' -f1` - else ODBC_LIBS=`echo $1/bcl${ac_solid_os}*.so | cut -d' ' -f1` - fi fi if test ! -f $ODBC_LIBS; then - if $ac_solid_version == 35; then - ODBC_LIBS=`echo $1/bcl${ac_solid_prefix}*.a | cut -d' ' -f1` - else ODBC_LIBS=`echo $1/bcl${ac_solid_os}*.a | cut -d' ' -f1` - fi fi AC_MSG_RESULT(`echo $ODBC_LIBS | sed -e 's!.*/!!'`) ]) diff --git a/ext/odbc/php_odbc.h b/ext/odbc/php_odbc.h index ea24b6550a..1809fe52b3 100644 --- a/ext/odbc/php_odbc.h +++ b/ext/odbc/php_odbc.h @@ -47,10 +47,10 @@ #if !defined(PHP_WIN32) #include #endif - #include #include #include #include + #include #endif #undef HAVE_SQL_EXTENDED_FETCH PHP_FUNCTION(solid_fetch_prev); @@ -220,6 +220,9 @@ typedef struct odbc_connection { #if defined( HAVE_IBMDB2 ) || defined( HAVE_UNIXODBC ) SQLHANDLE henv; SQLHANDLE hdbc; +#elif defined( HAVE_SOLID_35 ) + SQLHENV henv; + SQLHDBC hdbc; #else HENV henv; HDBC hdbc; @@ -238,6 +241,8 @@ typedef struct odbc_result_value { typedef struct odbc_result { #if defined( HAVE_IBMDB2 ) || defined( HAVE_UNIXODBC ) SQLHANDLE stmt; +#elif defined( HAVE_SOLID_35 ) + SQLHSTMT stmt; #else HSTMT stmt; #endif @@ -281,6 +286,8 @@ int odbc_bindcols(odbc_result *result); #if defined( HAVE_IBMDB2 ) || defined( HAVE_UNIXODBC ) #define ODBC_SQL_ERROR_PARAMS SQLHANDLE henv, SQLHANDLE conn, SQLHANDLE stmt, char *func +#elif defined( HAVE_SOLID_35 ) +#define ODBC_SQL_ERROR_PARAMS SQLHENV henv, SQLHDBC conn, SQLHSTMT stmt, char *func #else #define ODBC_SQL_ERROR_PARAMS HENV henv, HDBC conn, HSTMT stmt, char *func #endif