From 26b8b65c1858e97e4fe1e9cb49e5f69890982779 Mon Sep 17 00:00:00 2001 From: foobar Date: Mon, 28 Nov 2005 16:51:16 +0000 Subject: [PATCH] MFH: - Fixed bug #35409 (undefined reference to 'rl_completion_matches'). --- NEWS | 1 + ext/readline/config.m4 | 8 +++++--- ext/readline/readline.c | 6 +++++- sapi/cli/php_cli_readline.c | 4 ++++ 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 #ifndef HAVE_LIBEDIT #include @@ -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" -- 2.50.1