fmk             Wed Dec 18 02:06:36 2002 EDT

  Modified files:              (Branch: PHP_4_3)
    /php4/ext/mssql     php_mssql.c php_mssql.h 
  Log:
  MFH
  
  
Index: php4/ext/mssql/php_mssql.c
diff -u php4/ext/mssql/php_mssql.c:1.86.2.4 php4/ext/mssql/php_mssql.c:1.86.2.5
--- php4/ext/mssql/php_mssql.c:1.86.2.4 Tue Dec  3 14:19:45 2002
+++ php4/ext/mssql/php_mssql.c  Wed Dec 18 02:06:36 2002
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_mssql.c,v 1.86.2.4 2002/12/03 19:19:45 fmk Exp $ */
+/* $Id: php_mssql.c,v 1.86.2.5 2002/12/18 07:06:36 fmk Exp $ */
 
 #ifdef COMPILE_DL_MSSQL
 #define HAVE_MSSQL 1
@@ -442,24 +442,30 @@
                RETURN_FALSE;
        }
        
-       dbprocerrhandle(mssql.login, (DBERRHANDLE_PROC) php_mssql_error_handler);
-       dbprocmsghandle(mssql.login, (DBMSGHANDLE_PROC) php_mssql_message_handler);
+       DBERRHANDLE(mssql.login, (EHANDLEFUNC) php_mssql_error_handler);
+       DBMSGHANDLE(mssql.login, (MHANDLEFUNC) php_mssql_message_handler);
 
+#ifndef HAVE_FREETDS
        if (MS_SQL_G(secure_connection) == 1){
                DBSETLSECURE(mssql.login);
        }
        else {
+#endif
                if (user) {
                        DBSETLUSER(mssql.login,user);
                }
                if (passwd) {
                        DBSETLPWD(mssql.login,passwd);
                }
+#ifndef HAVE_FREETDS
        }
+#endif
        DBSETLAPP(mssql.login,MS_SQL_G(appname));
        mssql.valid = 1;
 
+#ifndef HAVE_FREETDS
        DBSETLVERSION(mssql.login, DBVER60);
+#endif
 /*     DBSETLTIME(mssql.login, TIMEOUT_INFINITE); */
 
        if (!MS_SQL_G(allow_persistent)) {
@@ -492,7 +498,7 @@
                                RETURN_FALSE;
                        }
 
-                       if (dbsetopt(mssql.link, DBBUFFER, "2")==FAIL) {
+                       if (DBSETOPT(mssql.link, DBBUFFER, "2")==FAIL) {
                                efree(hashed_details);
                                dbfreelogin(mssql.login);
                                dbclose(mssql.link);
@@ -501,7 +507,7 @@
 
                        if (MS_SQL_G(textlimit) != -1) {
                                sprintf(buffer, "%li", MS_SQL_G(textlimit));
-                               if (dbsetopt(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
+                               if (DBSETOPT(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
                                        efree(hashed_details);
                                        dbfreelogin(mssql.login);
                                        RETURN_FALSE;
@@ -554,7 +560,7 @@
 #if BROKEN_MSSQL_PCONNECTS
                                log_error("PHP/MS SQL:  Reconnect 
successful!",php_rqst->server);
 #endif
-                               if (dbsetopt(mssql_ptr->link, DBBUFFER, "2")==FAIL) {
+                               if (DBSETOPT(mssql_ptr->link, DBBUFFER, "2")==FAIL) {
 #if BROKEN_MSSQL_PCONNECTS
                                        log_error("PHP/MS SQL:  Unable to set required 
options",php_rqst->server);
 #endif
@@ -605,7 +611,7 @@
                        RETURN_FALSE;
                }
 
-               if (dbsetopt(mssql.link, DBBUFFER,"2")==FAIL) {
+               if (DBSETOPT(mssql.link, DBBUFFER,"2")==FAIL) {
                        efree(hashed_details);
                        dbfreelogin(mssql.login);
                        dbclose(mssql.link);
@@ -614,7 +620,7 @@
 
                if (MS_SQL_G(textlimit) != -1) {
                        sprintf(buffer, "%li", MS_SQL_G(textlimit));
-                       if (dbsetopt(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
+                       if (DBSETOPT(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
                                efree(hashed_details);
                                dbfreelogin(mssql.login);
                                RETURN_FALSE;
@@ -1108,7 +1114,11 @@
         * 1)  Being able to fire up another query without explicitly reading all rows
         * 2)  Having numrows accessible
         */
+#ifdef HAVE_FREETDS
+       if ((num_fields = dbnumcols(mssql_ptr->link)) <= 0) {
+#else
        if ((num_fields = dbnumcols(mssql_ptr->link)) <= 0 && 
!dbdataready(mssql_ptr->link)) {
+#endif
                RETURN_TRUE;
        }
 
@@ -1172,8 +1182,10 @@
        }
 
        ZEND_FETCH_RESOURCE(result, mssql_result *, mssql_result_index, -1, "MS 
SQL-result", le_result);        
+#ifndef HAVE_FREETDS
        if (dbdataready(result->mssql_ptr->link))
                dbresults(result->mssql_ptr->link);
+#endif
        zend_list_delete(Z_LVAL_PP(mssql_result_index));
        RETURN_TRUE;
 }
@@ -1996,7 +2008,7 @@
 
        /* no call to dbrpcparam if RETVAL */
        if ( strcmp("RETVAL",Z_STRVAL_PP(param_name))!=0 ) {                           
                 
-               if (dbrpcparam(mssql_ptr->link, Z_STRVAL_PP(param_name), (BYTE)status, 
type, maxlen, datalen, (LPCBYTE)value)==FAIL) {
+               if (dbrpcparam(mssql_ptr->link, Z_STRVAL_PP(param_name), (BYTE)status, 
+type, maxlen, datalen, (LPBYTE)value)==FAIL) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unable to set 
parameter");
                        RETURN_FALSE;
                }
Index: php4/ext/mssql/php_mssql.h
diff -u php4/ext/mssql/php_mssql.h:1.23.4.1 php4/ext/mssql/php_mssql.h:1.23.4.2
--- php4/ext/mssql/php_mssql.h:1.23.4.1 Tue Dec  3 13:59:38 2002
+++ php4/ext/mssql/php_mssql.h  Wed Dec 18 02:06:36 2002
@@ -17,13 +17,14 @@
  */
 
 
-/* $Id: php_mssql.h,v 1.23.4.1 2002/12/03 18:59:38 fmk Exp $ */
+/* $Id: php_mssql.h,v 1.23.4.2 2002/12/18 07:06:36 fmk Exp $ */
 
 #ifndef PHP_MSSQL_H
 #define PHP_MSSQL_H
 
 
 #if HAVE_MSSQL
+#define MSDBLIB
 #ifdef PHP_WIN32
 #define PHP_MSSQL_API __declspec(dllexport)
 #else
@@ -35,14 +36,52 @@
 #include "sqlfront.h"
 #include "sqldb.h"
 
+#if HAVE_FREETDS
+#define SQLTEXT SYBTEXT
+#define SQLCHAR SYBCHAR
+#define SQLVARCHAR SYBVARCHAR
+#define SQLINT1 SYBINT1
+#define SQLINT2 SYBINT2
+#define SQLINT4 SYBINT4
+#define SQLINTN SYBINTN
+#define SQLBIT SYBBIT
+#define SQLFLT4 SYBREAL
+#define SQLFLT8 SYBFLT8
+#define SQLFLTN SYBFLTN
+#define SQLDECIMAL SYBDECIMAL
+#define SQLNUMERIC SYBNUMERIC
+#define SQLDATETIME SYBDATETIME
+#define SQLDATETIM4 SYBDATETIME4
+#define SQLDATETIMN SYBDATETIMN
+#define SQLMONEY SYBMONEY
+#define SQLMONEY4 SYBMONEY4
+#define SQLMONEYN SYBMONEYN
+#define SQLIMAGE SYBIMAGE
+#define SQLBINARY SYBBINARY
+#define SQLVARBINARY SYBVARBINARY
+#define DBERRHANDLE(a, b) dberrhandle(b)
+#define DBMSGHANDLE(a, b) dbmsghandle(b)
+#define DBSETOPT(a, b, c) dbsetopt(a, b, c, -1)
+#define NO_MORE_RPC_RESULTS 3
+#define dbfreelogin dbloginfree
+#define dbrpcexec dbrpcsend
+typedef unsigned char *LPBYTE;
+#else
+#define DBERRHANDLE(a, b) dbprocerrhandle(a, b)
+#define DBMSGHANDLE(a, b) dbprocmsghandle(a, b)
+#define EHANDLEFUNC DBERRHANDLE_PROC
+#define MHANDLEFUNC DBMSGHANDLE_PROC
+#define DBSETOPT(a, b, c) dbsetopt(a, b, c)
+#endif
+
 #define coltype(j) dbcoltype(mssql_ptr->link,j)
 #define intcol(i) ((int) *(DBINT *) dbdata(mssql_ptr->link,i))
 #define smallintcol(i) ((int) *(DBSMALLINT *) dbdata(mssql_ptr->link,i))
 #define tinyintcol(i) ((int) *(DBTINYINT *) dbdata(mssql_ptr->link,i))
 #define anyintcol(j) 
(coltype(j)==SQLINT4?intcol(j):(coltype(j)==SQLINT2?smallintcol(j):tinyintcol(j)))
 #define charcol(i) ((DBCHAR *) dbdata(mssql_ptr->link,i))
-#define floatcol4(i) ((float) *(DBFLT4 *) dbdata(mssql_ptr->link,i))
-#define floatcol8(i) ((float) *(DBFLT8 *) dbdata(mssql_ptr->link,i))
+#define floatcol4(i) (*(DBFLT8 *) dbdata(mssql_ptr->link,i))
+#define floatcol8(i) (*(DBFLT8 *) dbdata(mssql_ptr->link,i))
 
 #ifdef ZTS
 #include "TSRM.h"



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to