]> granicus.if.org Git - php/commitdiff
Various bug fixes (now 17 tests fails, it is 11 in trunk)
authorXinchen Hui <laruence@php.net>
Sun, 11 May 2014 09:02:08 +0000 (17:02 +0800)
committerXinchen Hui <laruence@php.net>
Sun, 11 May 2014 09:02:08 +0000 (17:02 +0800)
ext/mysqli/mysqli.c
ext/mysqli/mysqli_prop.c
ext/mysqli/mysqli_warning.c

index 09fafd3eea8dc54aceef707e5732d9cc7e48b3aa..7684e25765eb83e6d6bdf1f67d232b1befc009f0 100644 (file)
@@ -438,9 +438,6 @@ HashTable *mysqli_object_get_debug_info(zval *object, int *is_temp TSRMLS_DC)
                ZVAL_STR(&member, entry->name);
                value = mysqli_read_property(object, &member, BP_VAR_IS, 0, &rv TSRMLS_CC);
                if (value != &EG(uninitialized_zval)) {
-                       if (Z_REFCOUNTED_P(value)) {
-                               Z_ADDREF_P(value);
-                       }
                        zend_hash_add(retval, Z_STR(member), value);
                }
        } ZEND_HASH_FOREACH_END();
@@ -484,7 +481,7 @@ PHP_MYSQLI_EXPORT(zend_object *) mysqli_objects_new(zend_class_entry *class_type
                handlers = &mysqli_object_handlers;
        }
 
-       intern->zo.handlers = &mysqli_object_handlers;
+       intern->zo.handlers = handlers;
 
        return &intern->zo;
 }
index 5a839e2cf18cf89ecd432624026201405ba4ca4e..b772511647af134c1389d4935beac59ea8e96674 100644 (file)
@@ -35,7 +35,7 @@
        if (!obj->ptr || ((MYSQLI_RESOURCE *)obj->ptr)->status < value ) { \
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Property access is not allowed yet"); \
                ZVAL_NULL(retval); \
-               return SUCCESS; \
+               return retval; \
        } \
 
 #define MYSQLI_GET_MYSQL(statusval) \
@@ -43,7 +43,7 @@ MYSQL *p; \
 if (!obj->ptr || !(MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr) { \
        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't fetch %s", obj->zo.ce->name->val);\
        ZVAL_NULL(retval);\
-       return SUCCESS; \
+       return retval; \
 } else { \
        CHECK_STATUS(statusval);\
     p = (MYSQL *)((MY_MYSQL *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr)->mysql;\
@@ -54,7 +54,7 @@ MYSQL_RES *p; \
 if (!obj->ptr) { \
        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't fetch %s", obj->zo.ce->name->val);\
        ZVAL_NULL(retval);\
-       return SUCCESS; \
+       return retval; \
 } else { \
        CHECK_STATUS(statusval);\
        p = (MYSQL_RES *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr; \
@@ -66,7 +66,7 @@ MYSQL_STMT *p; \
 if (!obj->ptr) { \
        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't fetch %s", obj->zo.ce->name->val);\
        ZVAL_NULL(retval);\
-       return SUCCESS; \
+       return retval; \
 } else { \
        CHECK_STATUS(statusval);\
        p = (MYSQL_STMT *)((MY_STMT *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr)->stmt;\
index c2290d387c5e8c44cc0eff5408224d05b8b8c270..9b85753dd63d7a7995ea4bf38fc9acf2b1959499 100644 (file)
@@ -132,7 +132,7 @@ MYSQLI_WARNING * php_get_warnings(MYSQLND_CONN_DATA * mysql TSRMLS_DC)
        result = mysql->m->use_result(mysql, 0 TSRMLS_CC);
 
        for (;;) {
-               zval **entry;
+               zval *entry;
                int errno;
 
                MAKE_STD_ZVAL(row);
@@ -146,15 +146,15 @@ MYSQLI_WARNING * php_get_warnings(MYSQLND_CONN_DATA * mysql TSRMLS_DC)
                zend_hash_move_forward(Z_ARRVAL_P(row));
 
                /* 1. Here comes the error no */
-               zend_hash_get_current_data(Z_ARRVAL_P(row), (void **)&entry);
+               entry = zend_hash_get_current_data(Z_ARRVAL_P(row));
                convert_to_long_ex(entry);
-               errno = Z_LVAL_PP(entry);
+               errno = Z_LVAL_P(entry);
                zend_hash_move_forward(Z_ARRVAL_P(row));
 
                /* 2. Here comes the reason */
-               zend_hash_get_current_data(Z_ARRVAL_P(row), (void **)&entry);
+               entry = zend_hash_get_current_data(Z_ARRVAL_P(row));
 
-               w = php_new_warning(*entry, errno TSRMLS_CC);
+               w = php_new_warning(entry, errno TSRMLS_CC);
                /*
                  Don't destroy entry, because the row destroy will decrease
                  the refcounter. Decreased twice then mysqlnd_free_result()
@@ -245,7 +245,7 @@ zval *mysqli_warning_errno(mysqli_object *obj, zval *retval TSRMLS_DC)
        }
        w = (MYSQLI_WARNING *)((MYSQLI_RESOURCE *)(obj->ptr))->ptr;
        ZVAL_LONG(retval, w->errorno);
-       return SUCCESS;
+       return retval;
 }
 /* }}} */