diff options
Diffstat (limited to 'ext/readline')
-rw-r--r-- | ext/readline/readline.c | 10 | ||||
-rw-r--r-- | ext/readline/tests/readline_callback_handler_install_001.phpt | 2 | ||||
-rw-r--r-- | ext/readline/tests/readline_callback_handler_remove_001.phpt | 4 | ||||
-rw-r--r-- | ext/readline/tests/readline_info_001.phpt | 8 |
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) |