summaryrefslogtreecommitdiffstats
path: root/upstream.patch
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2024-08-01 08:00:24 +0200
committerRemi Collet <remi@php.net>2024-08-01 08:00:24 +0200
commit536922a7c7dc222b0ddf01e3d8ddedd9b676bf1a (patch)
tree3de0f038b85ac3330c5925ea1ade4f410a75f29d /upstream.patch
parent2968e8a2440cf5ef1bafb4abefbab7c1be2513be (diff)
Update to 8.4.0alpha4
Diffstat (limited to 'upstream.patch')
-rw-r--r--upstream.patch61
1 files changed, 0 insertions, 61 deletions
diff --git a/upstream.patch b/upstream.patch
deleted file mode 100644
index a08b628..0000000
--- a/upstream.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From a7d856d9bf784a93aa690e763b082d92629cfd83 Mon Sep 17 00:00:00 2001
-From: David Carlier <devnexen@gmail.com>
-Date: Sat, 27 Jul 2024 09:30:11 +0100
-Subject: [PATCH] ext/readline: fix global readline vars when updating
- rl_line_buffer.
-
-if the new value was larger, rl_line_buffer_length was never updated.
-neither was rl_end (on unixes).
-
-close GH-15120
----
- NEWS | 4 ++++
- ext/readline/readline.c | 17 +++++++++++++++--
- 2 files changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/NEWS b/NEWS
-index 147d6ce70f504..f945ee519932f 100644
---- a/NEWS
-+++ b/NEWS
-@@ -50,6 +50,10 @@ PHP NEWS
- . Fixed bug GH-15094 (php_random_default_engine() is not C++ conforming).
- (cmb)
-
-+- Readline:
-+ . Fixed readline_info, rl_line_buffer_length/rl_len globals on update.
-+ (David Carlier)
-+
- - Standard:
- . Fix references in request_parse_body() options array. (nielsdos)
- . Add RoundingMode enum. (timwolla, saki)
-diff --git a/ext/readline/readline.c b/ext/readline/readline.c
-index fc36114745752..eca64f45b1586 100644
---- a/ext/readline/readline.c
-+++ b/ext/readline/readline.c
-@@ -183,11 +183,24 @@ PHP_FUNCTION(readline_info)
- if (zend_string_equals_literal_ci(what,"line_buffer")) {
- oldstr = rl_line_buffer;
- if (value) {
-- /* XXX if (rl_line_buffer) free(rl_line_buffer); */
- if (!try_convert_to_string(value)) {
- RETURN_THROWS();
- }
-- rl_line_buffer = strdup(Z_STRVAL_P(value));
-+#ifndef PHP_WIN32
-+ if (strlen(oldstr) < Z_STRLEN_P(value)) {
-+ rl_extend_line_buffer(Z_STRLEN_P(value) + 1);
-+ }
-+ memcpy(rl_line_buffer, Z_STRVAL_P(value), Z_STRLEN_P(value) + 1);
-+ rl_end = Z_STRLEN_P(value);
-+#else
-+ char *tmp = strdup(Z_STRVAL_P(value));
-+ if (tmp) {
-+ if (rl_line_buffer) {
-+ free(rl_line_buffer);
-+ }
-+ rl_line_buffer = tmp;
-+ }
-+#endif
- }
- RETVAL_STRING(SAFE_STRING(oldstr));
- } else if (zend_string_equals_literal_ci(what, "point")) {