summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--ext/readline/config.m48
-rw-r--r--ext/readline/readline.c6
-rw-r--r--sapi/cli/php_cli_readline.c4
4 files changed, 15 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index 230cded40f..ac43243f2d 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ PHP NEWS
?? ??? 200?, PHP 5.1.2
- Fixed bug #35431 (PDO crashes when using LAZY fetch with fetchAll). (Wez)
- Fixed bug #35430 (PDO crashes on incorrect FETCH_FUNC use). (Tony)
+- Fixed bug #35409 (undefined reference to 'rl_completion_matches'). (Jani)
- Fixed bug #35399 (Since fix of bug #35273 SOAP decoding of
soapenc:base64binary fails). (Dmitry)
- Fixed bug #35393 (changing static protected members from outside the class,
diff --git a/ext/readline/config.m4 b/ext/readline/config.m4
index 2ec104c3d4..58d21765c1 100644
--- a/ext/readline/config.m4
+++ b/ext/readline/config.m4
@@ -59,8 +59,6 @@ if test "$PHP_READLINE" != "no"; then
-L$READLINE_DIR/$PHP_LIBDIR $PHP_READLINE_LIBS
])
- PHP_NEW_EXTENSION(readline, readline.c, $ext_shared, cli)
- PHP_SUBST(READLINE_SHARED_LIBADD)
AC_DEFINE(HAVE_LIBREADLINE, 1, [ ])
elif test "$PHP_LIBEDIT" != "no"; then
@@ -94,7 +92,11 @@ elif test "$PHP_LIBEDIT" != "no"; then
-L$READLINE_DIR/$PHP_LIBDIR
])
+ AC_DEFINE(HAVE_LIBEDIT, 1, [ ])
+fi
+
+if test "$PHP_READLINE" != "no" || test "$PHP_LIBEDIT" != "no"; then
+ AC_CHECK_FUNCS([rl_completion_matches])
PHP_NEW_EXTENSION(readline, readline.c, $ext_shared, cli)
PHP_SUBST(READLINE_SHARED_LIBADD)
- AC_DEFINE(HAVE_LIBEDIT, 1, [ ])
fi
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index f86fdfcd07..0888cdd61a 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -29,6 +29,10 @@
#if HAVE_LIBREADLINE || HAVE_LIBEDIT
+#ifndef HAVE_RL_COMPLETION_MATCHES
+#define rl_completion_matches completion_matches
+#endif
+
#include <readline/readline.h>
#ifndef HAVE_LIBEDIT
#include <readline/history.h>
@@ -421,7 +425,7 @@ static char **_readline_completion_cb(const char *text, int start, int end)
if (call_user_function(CG(function_table), NULL, _readline_completion, &_readline_array, 3, params TSRMLS_CC) == SUCCESS) {
if (Z_TYPE(_readline_array) == IS_ARRAY) {
if (zend_hash_num_elements(Z_ARRVAL(_readline_array))) {
- matches = completion_matches(text,_readline_command_generator);
+ matches = rl_completion_matches(text,_readline_command_generator);
} else {
matches = malloc(sizeof(char *) * 2);
matches[0] = strdup("");
diff --git a/sapi/cli/php_cli_readline.c b/sapi/cli/php_cli_readline.c
index 301a1534a2..97dde30702 100644
--- a/sapi/cli/php_cli_readline.c
+++ b/sapi/cli/php_cli_readline.c
@@ -23,6 +23,10 @@
#if (HAVE_LIBREADLINE || HAVE_LIBEDIT) && !defined(COMPILE_DL_READLINE)
+#ifndef HAVE_RL_COMPLETION_MATCHES
+#define rl_completion_matches completion_matches
+#endif
+
#include "php_globals.h"
#include "php_variables.h"
#include "zend_hash.h"