Skip to content

Commit 8c27553

Browse files
committed
ext/pdo: Use a variable for the column name
1 parent fcea7af commit 8c27553

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

ext/pdo/pdo_stmt.c

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -918,15 +918,16 @@ static bool do_fetch(pdo_stmt_t *stmt, zval *return_value, enum pdo_fetch_type h
918918
for (idx = 0; i < stmt->column_count; i++, idx++) {
919919
zval val;
920920
fetch_value(stmt, &val, i, NULL);
921+
zend_string *column_name = stmt->columns[i].name;
921922

922923
switch (how) {
923924
case PDO_FETCH_ASSOC:
924-
zend_symtable_update(Z_ARRVAL_P(return_value), stmt->columns[i].name, &val);
925+
zend_symtable_update(Z_ARRVAL_P(return_value), column_name, &val);
925926
break;
926927

927928
case PDO_FETCH_USE_DEFAULT:
928929
case PDO_FETCH_BOTH:
929-
zend_symtable_update(Z_ARRVAL_P(return_value), stmt->columns[i].name, &val);
930+
zend_symtable_update(Z_ARRVAL_P(return_value), column_name, &val);
930931
if (zend_hash_index_add(Z_ARRVAL_P(return_value), i, &val) != NULL) {
931932
Z_TRY_ADDREF(val);
932933
}
@@ -961,7 +962,7 @@ static bool do_fetch(pdo_stmt_t *stmt, zval *return_value, enum pdo_fetch_type h
961962
}
962963
zend_hash_next_index_insert_new(Z_ARRVAL(arr), &val);
963964
} else {
964-
zend_hash_update(Z_ARRVAL_P(return_value), stmt->columns[i].name, &val);
965+
zend_hash_update(Z_ARRVAL_P(return_value), column_name, &val);
965966
}
966967
}
967968
break;
@@ -972,17 +973,13 @@ static bool do_fetch(pdo_stmt_t *stmt, zval *return_value, enum pdo_fetch_type h
972973

973974
case PDO_FETCH_OBJ:
974975
case PDO_FETCH_INTO:
975-
zend_update_property_ex(NULL, Z_OBJ_P(return_value),
976-
stmt->columns[i].name,
977-
&val);
976+
zend_update_property_ex(NULL, Z_OBJ_P(return_value), column_name, &val);
978977
zval_ptr_dtor(&val);
979978
break;
980979

981980
case PDO_FETCH_CLASS:
982981
if ((flags & PDO_FETCH_SERIALIZE) == 0 || idx) {
983-
zend_update_property_ex(ce, Z_OBJ_P(return_value),
984-
stmt->columns[i].name,
985-
&val);
982+
zend_update_property_ex(ce, Z_OBJ_P(return_value), column_name, &val);
986983
zval_ptr_dtor(&val);
987984
} else {
988985
if (!ce->unserialize) {

0 commit comments

Comments
 (0)