From 637671c1a15de6ecc7bbcf40e27e5449aae630c2 Mon Sep 17 00:00:00 2001 From: Hartmel Date: Mon, 27 May 2013 17:49:06 +0200 Subject: [PATCH 1/2] Expose attempted_completion_over variable from readline library --- ext/readline/readline.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ext/readline/readline.c b/ext/readline/readline.c index 3148f80db0160..bd460696bd704 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); + } } } From f78a34277b7ac6e16869bb1459a3027bb157499a Mon Sep 17 00:00:00 2001 From: Hartmel Date: Tue, 28 May 2013 09:59:43 +0200 Subject: [PATCH 2/2] Update readline test to support attempted_completion_over variable --- ext/readline/tests/readline_info_001.phpt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ext/readline/tests/readline_info_001.phpt b/ext/readline/tests/readline_info_001.phpt index c7bc92a4df6e7..ebab3bf68b81b 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)