@@ -467,43 +467,32 @@ PHPDBG_API phpdbg_input_t *phpdbg_read_input(char *buffered TSRMLS_DC) /* {{{ */
467467 }
468468
469469 if (buffered == NULL ) {
470- disconnect :
471- if (0 ) {
472- PHPDBG_G (flags ) |= (PHPDBG_IS_QUITTING |PHPDBG_IS_DISCONNECTED );
473- zend_bailout ();
474- return NULL ;
475- }
476-
477470#ifndef HAVE_LIBREADLINE
478471 char buf [PHPDBG_MAX_CMD ];
479- if (!(PHPDBG_G (flags ) & PHPDBG_IS_REMOTE )) {
480- if (!phpdbg_write (phpdbg_get_prompt (TSRMLS_CC ))) {
481- goto disconnect ;
482- }
483- }
484-
485- /* note: EOF is ignored */
486- readline :
487- if (!fgets (buf , PHPDBG_MAX_CMD , PHPDBG_G (io )[PHPDBG_STDIN ])) {
472+ if ((!(PHPDBG_G (flags ) & PHPDBG_IS_REMOTE ) && !phpdbg_write (phpdbg_get_prompt (TSRMLS_C ))) ||
473+ !fgets (buf , PHPDBG_MAX_CMD , PHPDBG_G (io )[PHPDBG_STDIN ])) {
488474 /* the user has gone away */
489- if ((PHPDBG_G (flags ) & PHPDBG_IS_REMOTE )) {
490- goto disconnect ;
491- } else goto readline ;
475+ phpdbg_error ("Failed to read console!" );
476+ PHPDBG_G (flags ) |= (PHPDBG_IS_QUITTING |PHPDBG_IS_DISCONNECTED );
477+ zend_bailout ();
478+ return NULL ;
492479 }
493480
494481 cmd = buf ;
495482#else
496- /* note: EOF makes readline write prompt again in local console mode */
497- readline :
498483 if ((PHPDBG_G (flags ) & PHPDBG_IS_REMOTE )) {
499484 char buf [PHPDBG_MAX_CMD ];
500485 if (fgets (buf , PHPDBG_MAX_CMD , PHPDBG_G (io )[PHPDBG_STDIN ])) {
501486 cmd = buf ;
502- } else goto disconnect ;
487+ } else cmd = NULL ;
503488 } else cmd = readline (phpdbg_get_prompt (TSRMLS_C ));
504489
505490 if (!cmd ) {
506- goto readline ;
491+ /* the user has gone away */
492+ phpdbg_error ("Failed to read console!" );
493+ PHPDBG_G (flags ) |= (PHPDBG_IS_QUITTING |PHPDBG_IS_DISCONNECTED );
494+ zend_bailout ();
495+ return NULL ;
507496 }
508497
509498 if (!(PHPDBG_G (flags ) & PHPDBG_IS_REMOTE )) {
0 commit comments