]> granicus.if.org Git - php/commitdiff
- Simplify
authorMarcus Boerger <helly@php.net>
Sat, 19 Feb 2005 23:36:58 +0000 (23:36 +0000)
committerMarcus Boerger <helly@php.net>
Sat, 19 Feb 2005 23:36:58 +0000 (23:36 +0000)
ext/pdo/pdo_stmt.c

index 8b263aba8c8f69f044cfe87d4f2b467868a9d269..e109eeafabbf3b4e6bc1efab014e0ae93d45674e 100755 (executable)
@@ -529,11 +529,11 @@ static int do_fetch_common(pdo_stmt_t *stmt, enum pdo_fetch_orientation ori,
 static int do_fetch(pdo_stmt_t *stmt, int do_bind, zval *return_value,
        enum pdo_fetch_type how, enum pdo_fetch_orientation ori, long offset, zval *return_all TSRMLS_DC)
 {
-       enum pdo_fetch_type really_how = how;
        zend_class_entry * ce;
 
-       if (really_how == PDO_FETCH_USE_DEFAULT) {
-               really_how = how = stmt->default_fetch_type;
+       how = how & ~PDO_FETCH_FLAGS;
+       if (how == PDO_FETCH_USE_DEFAULT) {
+               how = stmt->default_fetch_type;
        }
 
        if (!do_fetch_common(stmt, ori, offset, do_bind TSRMLS_CC)) {
@@ -805,7 +805,7 @@ static PHP_METHOD(PDOStatement, fetchSingle)
 static PHP_METHOD(PDOStatement, fetchAll)
 {
        pdo_stmt_t *stmt = (pdo_stmt_t*)zend_object_store_get_object(getThis() TSRMLS_CC);
-       long how = PDO_FETCH_USE_DEFAULT, flags;
+       long how = PDO_FETCH_USE_DEFAULT;
        zval *data, *return_all;
        char *class_name;
        int class_name_len;
@@ -847,13 +847,11 @@ static PHP_METHOD(PDOStatement, fetchAll)
                }
        }
 
-       flags = how & PDO_FETCH_FLAGS;
-       how   = how & ~PDO_FETCH_FLAGS;
        if (!error)
        {
                PDO_STMT_CLEAR_ERR();
                MAKE_STD_ZVAL(data);
-               if (flags & PDO_FETCH_GROUP) {
+               if (how & PDO_FETCH_GROUP) {
                        array_init(return_value);
                        return_all = return_value;
                } else {
@@ -867,7 +865,7 @@ static PHP_METHOD(PDOStatement, fetchAll)
                }
        }
        if (!error) {
-               if ((flags & PDO_FETCH_GROUP)) {
+               if ((how & PDO_FETCH_GROUP)) {
                        do {
                                MAKE_STD_ZVAL(data);
                        } while (do_fetch(stmt, TRUE, data, how, PDO_FETCH_ORI_NEXT, 0, return_all TSRMLS_CC));