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
This commit is contained in:
Dan Kalowsky 2000-08-22 21:27:49 +00:00
parent ae49ebf198
commit bee5b60a22
2 changed files with 16 additions and 21 deletions

View File

@ -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!.*/!!'`)
])

View File

@ -47,10 +47,10 @@
#if !defined(PHP_WIN32)
#include <sqlunix.h>
#endif
#include <sql.h>
#include <sqltypes.h>
#include <sqlucode.h>
#include <sqlext.h>
#include <sql.h>
#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