From 7a8ea0f60d4d4302be7231f4b73c08a209e696d0 Mon Sep 17 00:00:00 2001 From: Bob Weinand Date: Tue, 7 Jul 2015 22:45:34 +0200 Subject: [PATCH] Properly exit on EOF on stdin in readline mode --- sapi/phpdbg/phpdbg_cmd.c | 12 ++++++++---- sapi/phpdbg/phpdbg_io.c | 1 - 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/sapi/phpdbg/phpdbg_cmd.c b/sapi/phpdbg/phpdbg_cmd.c index 36f1a3f4ab..9a3751a424 100644 --- a/sapi/phpdbg/phpdbg_cmd.c +++ b/sapi/phpdbg/phpdbg_cmd.c @@ -729,11 +729,15 @@ readline: PHPDBG_G(last_was_newline) = 1; } - if (!cmd) { - goto readline; - } - if (!(PHPDBG_G(flags) & PHPDBG_IS_REMOTE)) { + if (!cmd) { + if (feof(PHPDBG_G(io)[PHPDBG_STDIN].ptr)) { + PHPDBG_G(flags) |= PHPDBG_IS_QUITTING | PHPDBG_IS_DISCONNECTED; + zend_bailout(); + } + goto readline; + } + add_history(cmd); } #endif diff --git a/sapi/phpdbg/phpdbg_io.c b/sapi/phpdbg/phpdbg_io.c index 70709eadc1..246431ff2d 100644 --- a/sapi/phpdbg/phpdbg_io.c +++ b/sapi/phpdbg/phpdbg_io.c @@ -90,7 +90,6 @@ PHPDBG_API int phpdbg_consume_stdin_line(char *buf) { if (bytes <= 0) { PHPDBG_G(flags) |= PHPDBG_IS_QUITTING | PHPDBG_IS_DISCONNECTED; zend_bailout(); - return 0; } return bytes; -- 2.50.1