diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2021-02-08 19:00:37 +0100 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2021-02-08 19:00:37 +0100 |
commit | 92f71d9d42e620c3a08219728a2bfe1abb85a214 (patch) | |
tree | 20e05c84f01f3e69af52a4b505a4f4720a2cc8c8 | |
parent | f731477cd798615f9f8412bd2d95a40b911b64fa (diff) | |
parent | 03713ace23e7c8fa6b7d31684de8740a77e42895 (diff) | |
download | php-git-92f71d9d42e620c3a08219728a2bfe1abb85a214.tar.gz |
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
Fix locale dependent parsing of PostgreSQL version number
-rw-r--r-- | ext/pgsql/pgsql.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 4685c7cd74..7ea7d199ea 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -598,7 +598,8 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) } } pgsql = (PGconn *) le->ptr; - if (PQprotocolVersion(pgsql) >= 3 && atof(PQparameterStatus(pgsql, "server_version")) >= 7.2) { + /* consider to use php_version_compare() here */ + if (PQprotocolVersion(pgsql) >= 3 && zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 7.2) { pg_result = PQexec(pgsql, "RESET ALL;"); PQclear(pg_result); } @@ -4063,14 +4064,16 @@ PHP_FUNCTION(pg_get_notify) if (result_type & PGSQL_NUM) { add_index_string(return_value, 0, pgsql_notify->relname); add_index_long(return_value, 1, pgsql_notify->be_pid); - if (PQprotocolVersion(pgsql) >= 3 && atof(PQparameterStatus(pgsql, "server_version")) >= 9.0) { + /* consider to use php_version_compare() here */ + if (PQprotocolVersion(pgsql) >= 3 && zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 9.0) { add_index_string(return_value, 2, pgsql_notify->extra); } } if (result_type & PGSQL_ASSOC) { add_assoc_string(return_value, "message", pgsql_notify->relname); add_assoc_long(return_value, "pid", pgsql_notify->be_pid); - if (PQprotocolVersion(pgsql) >= 3 && atof(PQparameterStatus(pgsql, "server_version")) >= 9.0) { + /* consider to use php_version_compare() here */ + if (PQprotocolVersion(pgsql) >= 3 && zend_strtod(PQparameterStatus(pgsql, "server_version"), NULL) >= 9.0) { add_assoc_string(return_value, "payload", pgsql_notify->extra); } } |