Index: sys/ddb/db_output.c =================================================================== --- sys/ddb/db_output.c +++ sys/ddb/db_output.c @@ -244,6 +244,7 @@ db_disable_pager(void) { db_maxlines = 0; + db_pager_quit = 0; } /* @@ -254,11 +255,12 @@ void db_pager(void) { - int c, done; + int c, done, quit; db_capture_enterpager(); db_printf("--More--\r"); done = 0; + quit = 0; while (!done) { c = cngetc(); switch (c) { @@ -286,7 +288,7 @@ case 'X': /* Quit */ db_maxlines = 0; - db_pager_quit = 1; + quit = 1; done++; break; #if 0 @@ -301,6 +303,8 @@ db_printf("\r"); db_newlines = 0; db_capture_exitpager(); + if (quit) + db_pager_quit = 1; } /* @@ -324,6 +328,9 @@ struct dbputchar_arg dca; va_list listp; int retval; + + if (db_pager_quit) + return (0); #ifdef DDB_BUFR_SIZE dca.da_pbufr = bufr;