abies           Mon Jan 12 15:03:50 2004 EDT

  Modified files:              
    /php-src/ext/interbase      interbase.c 
  Log:
  More handsome solution for previous fix
  
Index: php-src/ext/interbase/interbase.c
diff -u php-src/ext/interbase/interbase.c:1.192 php-src/ext/interbase/interbase.c:1.193
--- php-src/ext/interbase/interbase.c:1.192     Mon Jan 12 14:47:28 2004
+++ php-src/ext/interbase/interbase.c   Mon Jan 12 15:03:49 2004
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: interbase.c,v 1.192 2004/01/12 19:47:28 abies Exp $ */
+/* $Id: interbase.c,v 1.193 2004/01/12 20:03:49 abies Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -26,7 +26,7 @@
 
 #include "php.h"
 
-#define FILE_REVISION "$Revision: 1.192 $"
+#define FILE_REVISION "$Revision: 1.193 $"
 
 #if HAVE_IBASE
 
@@ -831,6 +831,7 @@
 {
        zval ***args;
        char *ib_server = NULL, *ib_uname, *ib_passwd, *ib_charset = NULL, *ib_buffers 
= NULL, *ib_dialect = NULL, *ib_role = NULL;
+       unsigned short sql_dialect = SQL_DIALECT_CURRENT;
        int ib_uname_len, ib_passwd_len;
        isc_db_handle db_handle = NULL;
        char *hashed_details;
@@ -855,6 +856,8 @@
        }
 
        switch (ZEND_NUM_ARGS()) {
+               unsigned short d;
+               
                case 7:
                        convert_to_string_ex(args[6]);
                        ib_role = Z_STRVAL_PP(args[6]);
@@ -863,6 +866,10 @@
                case 6:
                        convert_to_string_ex(args[5]);
                        ib_dialect = Z_STRVAL_PP(args[5]);
+                       if ((d = (unsigned short)strtoul(ib_dialect, NULL, 10))) 
+                       {
+                               sql_dialect = d;
+                       }
                        hashed_details_length += Z_STRLEN_PP(args[5]);
                        /* fallout */
                case 5:
@@ -940,10 +947,7 @@
 
                        ib_link = (ibase_db_link *) malloc(sizeof(ibase_db_link));
                        ib_link->handle = db_handle;
-                       if (ib_dialect) {
-                               unsigned short d = (unsigned short)strtoul(ib_dialect, 
NULL, 10);
-                               ib_link->dialect = (d ? d : SQL_DIALECT_CURRENT);
-                       }
+                       ib_link->dialect = sql_dialect;
                        ib_link->tr_list = NULL;
 
                        /* hash it up */
@@ -1005,10 +1009,7 @@
 
                ib_link = (ibase_db_link *) emalloc(sizeof(ibase_db_link));
                ib_link->handle = db_handle;
-               if (ib_dialect) {
-                       unsigned short d = (unsigned short)strtoul(ib_dialect, NULL, 
10);
-                       ib_link->dialect = (d ? d : SQL_DIALECT_CURRENT);
-               }
+               ib_link->dialect = sql_dialect;
                ib_link->tr_list = NULL;
                
                ZEND_REGISTER_RESOURCE(return_value, ib_link, le_link);

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

Reply via email to