diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-16 15:18:43 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-12-16 15:18:43 +0100 |
commit | 52435f94a352f4da84780b689061f92a767d11a0 (patch) | |
tree | 61e12bc04cb9b90b5cf22512316c963c4376ca1e /ext/pdo | |
parent | 1c29db19d46122066be24d065924fd7052a5b5ee (diff) | |
parent | 205d209de931d5c5e1535277531a7e4dc8a6000a (diff) | |
download | php-git-52435f94a352f4da84780b689061f92a767d11a0.tar.gz |
Merge branch 'PHP-8.0'
* PHP-8.0:
PDO MySQL: Use mysqlnd column names
Diffstat (limited to 'ext/pdo')
-rw-r--r-- | ext/pdo/pdo_stmt.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index b1b6fb9907..bab869eaf8 100644 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -138,23 +138,22 @@ int pdo_stmt_describe_columns(pdo_stmt_t *stmt) /* {{{ */ /* if we are applying case conversions on column names, do so now */ if (stmt->dbh->native_case != stmt->dbh->desired_case && stmt->dbh->desired_case != PDO_CASE_NATURAL) { - char *s = ZSTR_VAL(stmt->columns[col].name); - + zend_string *orig_name = stmt->columns[col].name; switch (stmt->dbh->desired_case) { - case PDO_CASE_UPPER: - while (*s != '\0') { - *s = toupper(*s); - s++; - } - break; case PDO_CASE_LOWER: + stmt->columns[col].name = zend_string_tolower(orig_name); + zend_string_release(orig_name); + break; + case PDO_CASE_UPPER: { + stmt->columns[col].name = zend_string_separate(orig_name, 0); + char *s = ZSTR_VAL(stmt->columns[col].name); while (*s != '\0') { - *s = tolower(*s); + *s = toupper(*s); s++; } break; - default: - ; + } + EMPTY_SWITCH_DEFAULT_CASE() } } |