--- src/sys/ddb/db_output.c 2003/11/09 02:22:34 1.5 +++ src/sys/ddb/db_output.c 2004/09/03 08:50:47 1.6 @@ -187,3 +187,35 @@ db_end_line() if (db_output_position >= db_max_width) db_printf("\n"); } + +/* + * Simple pager + */ +int +db_more(int *nl) +{ + ++*nl; + if (*nl == 20) { + int c; + + db_printf("--More--"); + c = cngetc(); + db_printf("\r"); + /* + * A whole screenfull or just one line? + */ + switch (c) { + case '\n': /* just one line */ + *nl = 19; + break; + case ' ': + *nl = 0; /* another screenfull */ + break; + default: /* exit */ + db_printf("\n"); + return(-1); + } + } + return(0); +} +