felipe          Mon Mar 23 23:58:49 2009 UTC

  Modified files:              
    /php-src/ext/pdo    pdo_dbh.c 
  Log:
  - MFB old changes
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/pdo/pdo_dbh.c?r1=1.163&r2=1.164&diff_format=u
Index: php-src/ext/pdo/pdo_dbh.c
diff -u php-src/ext/pdo/pdo_dbh.c:1.163 php-src/ext/pdo/pdo_dbh.c:1.164
--- php-src/ext/pdo/pdo_dbh.c:1.163     Tue Mar 10 23:39:28 2009
+++ php-src/ext/pdo/pdo_dbh.c   Mon Mar 23 23:58:49 2009
@@ -18,7 +18,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: pdo_dbh.c,v 1.163 2009/03/10 23:39:28 helly Exp $ */
+/* $Id: pdo_dbh.c,v 1.164 2009/03/23 23:58:49 felipe Exp $ */
 
 /* The PDO Database Handle Class */
 
@@ -280,7 +280,7 @@
                pdo_dbh_t *pdbh = NULL;
 
                if (SUCCESS == zend_hash_index_find(Z_ARRVAL_P(options), 
PDO_ATTR_PERSISTENT, (void**)&v)) {
-                       if (Z_TYPE_PP(v) == IS_STRING) {
+                       if (Z_TYPE_PP(v) == IS_STRING && 
!is_numeric_string(Z_STRVAL_PP(v), Z_STRLEN_PP(v), NULL, NULL, 0) && 
Z_STRLEN_PP(v) > 0) {
                                /* user specified key */
                                plen = spprintf(&hashkey, 0, 
"PDO:DBH:DSN=%s:%s:%s:%s", data_source,
                                                username ? username : "",
@@ -372,7 +372,7 @@
 
        if (!call_factory) {
                /* we got a persistent guy from our cache */
-               return;
+               goto options;
        }
 
        if (driver->db_handle_factory(dbh, options TSRMLS_CC)) {
@@ -396,7 +396,7 @@
                }
 
                dbh->driver = driver;
-
+options:
                if (options) {
                        zval **attr_value;
                        zstr str_key;
@@ -1054,7 +1054,7 @@
                int current_index;
 
                error_count_diff = error_expected_count - error_count;
-               for (current_index = 0; current_index > error_count_diff; 
current_index++) {
+               for (current_index = 0; current_index < error_count_diff; 
current_index++) {
                        add_next_index_null(return_value);
                }
        }
@@ -1378,18 +1378,7 @@
        return -1;
 }
 
-#if PHP_MAJOR_VERSION < 6
-static zend_object_value dbh_ze1_clone_obj(zval *object TSRMLS_DC)
-{
-       php_error(E_ERROR, "Cannot clone object of class %s due to 
'zend.ze1_compatibility_mode'", Z_OBJCE_P(object)->name);
-       return object->value.obj;
-}
-#endif
-
 static zend_object_handlers pdo_dbh_object_handlers;
-#if PHP_MAJOR_VERSION < 6
-static zend_object_handlers pdo_dbh_object_handlers_ze1;
-#endif
 
 void pdo_dbh_init(TSRMLS_D)
 {
@@ -1403,13 +1392,6 @@
        pdo_dbh_object_handlers.get_method = dbh_method_get;
        pdo_dbh_object_handlers.compare_objects = dbh_compare;
        
-#if PHP_MAJOR_VERSION < 6
-       memcpy(&pdo_dbh_object_handlers_ze1, &std_object_handlers, 
sizeof(zend_object_handlers));
-       pdo_dbh_object_handlers_ze1.get_method = dbh_method_get;
-       pdo_dbh_object_handlers_ze1.compare_objects = dbh_compare;
-       pdo_dbh_object_handlers_ze1.clone_obj = dbh_ze1_clone_obj;
-#endif
-
        REGISTER_PDO_CLASS_CONST_LONG("PARAM_BOOL", (long)PDO_PARAM_BOOL);
        REGISTER_PDO_CLASS_CONST_LONG("PARAM_NULL", (long)PDO_PARAM_NULL);
        REGISTER_PDO_CLASS_CONST_LONG("PARAM_INT",  (long)PDO_PARAM_INT);
@@ -1596,11 +1578,7 @@
        dbh->def_stmt_ce = pdo_dbstmt_ce;
        
        retval.handle = zend_objects_store_put(dbh, 
(zend_objects_store_dtor_t)zend_objects_destroy_object, 
(zend_objects_free_object_storage_t)pdo_dbh_free_storage, NULL TSRMLS_CC);
-#if PHP_MAJOR_VERSION < 6
-       retval.handlers = EG(ze1_compatibility_mode) ? 
&pdo_dbh_object_handlers_ze1 : &pdo_dbh_object_handlers;
-#else
        retval.handlers = &pdo_dbh_object_handlers;
-#endif
        
        return retval;
 }



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

Reply via email to