summaryrefslogtreecommitdiff
path: root/ext/readline
diff options
context:
space:
mode:
Diffstat (limited to 'ext/readline')
-rw-r--r--ext/readline/readline.c10
-rw-r--r--ext/readline/tests/readline_callback_handler_install_001.phpt2
-rw-r--r--ext/readline/tests/readline_callback_handler_remove_001.phpt4
-rw-r--r--ext/readline/tests/readline_info_001.phpt8
4 files changed, 19 insertions, 5 deletions
diff --git a/ext/readline/readline.c b/ext/readline/readline.c
index 3148f80db..bd460696b 100644
--- a/ext/readline/readline.c
+++ b/ext/readline/readline.c
@@ -259,6 +259,7 @@ PHP_FUNCTION(readline_info)
#endif
add_assoc_string(return_value,"library_version",(char *)SAFE_STRING(rl_library_version),1);
add_assoc_string(return_value,"readline_name",(char *)SAFE_STRING(rl_readline_name),1);
+ add_assoc_long(return_value,"attempted_completion_over",rl_attempted_completion_over);
} else {
if (!strcasecmp(what,"line_buffer")) {
oldstr = rl_line_buffer;
@@ -313,7 +314,14 @@ PHP_FUNCTION(readline_info)
rl_readline_name = strdup(Z_STRVAL_PP(value));;
}
RETVAL_STRING(SAFE_STRING(oldstr),1);
- }
+ } else if (!strcasecmp(what, "attempted_completion_over")) {
+ oldval = rl_attempted_completion_over;
+ if (value) {
+ convert_to_long_ex(value);
+ rl_attempted_completion_over = Z_LVAL_PP(value);
+ }
+ RETVAL_LONG(oldval);
+ }
}
}
diff --git a/ext/readline/tests/readline_callback_handler_install_001.phpt b/ext/readline/tests/readline_callback_handler_install_001.phpt
index 8bf1d61e4..c88a4e86f 100644
--- a/ext/readline/tests/readline_callback_handler_install_001.phpt
+++ b/ext/readline/tests/readline_callback_handler_install_001.phpt
@@ -15,7 +15,7 @@ var_dump(readline_callback_handler_install('testing: '));
?>
--EXPECTF--
-testing: bool(true)
+%Atesting: bool(true)
Warning: readline_callback_handler_install(): foobar! is not callable in %s on line %d
bool(false)
diff --git a/ext/readline/tests/readline_callback_handler_remove_001.phpt b/ext/readline/tests/readline_callback_handler_remove_001.phpt
index 768041a4c..83b592e05 100644
--- a/ext/readline/tests/readline_callback_handler_remove_001.phpt
+++ b/ext/readline/tests/readline_callback_handler_remove_001.phpt
@@ -13,8 +13,8 @@ var_dump(readline_callback_handler_install('testing: ', 'foo'));
var_dump(readline_callback_handler_remove());
?>
---EXPECT--
+--EXPECTF--
bool(false)
-testing: bool(true)
+%Atesting: bool(true)
testing: bool(true)
bool(true)
diff --git a/ext/readline/tests/readline_info_001.phpt b/ext/readline/tests/readline_info_001.phpt
index c7bc92a4d..ebab3bf68 100644
--- a/ext/readline/tests/readline_info_001.phpt
+++ b/ext/readline/tests/readline_info_001.phpt
@@ -12,10 +12,12 @@ var_dump(readline_info('line_buffer'));
var_dump(readline_info('readline_name'));
var_dump(readline_info('readline_name', 1));
var_dump(readline_info('readline_name'));
+var_dump(readline_info('attempted_completion_over',1));
+var_dump(readline_info('attempted_completion_over'));
?>
--EXPECTF--
-array(10) {
+array(11) {
["line_buffer"]=>
string(0) ""
["point"]=>
@@ -36,6 +38,8 @@ array(10) {
string(%d) "%s"
["readline_name"]=>
string(5) "other"
+ ["attempted_completion_over"]=>
+ int(0)
}
NULL
NULL
@@ -43,3 +47,5 @@ string(0) ""
string(5) "other"
string(5) "other"
string(1) "1"
+int(0)
+int(1)