Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/ddb db_putchar - check if we need to wrap at $maxwidth a...
details: https://anonhg.NetBSD.org/src/rev/0140b7cfbf7f
branches: trunk
changeset: 965314:0140b7cfbf7f
user: uwe <uwe%NetBSD.org@localhost>
date: Thu Sep 12 18:43:02 2019 +0000
description:
db_putchar - check if we need to wrap at $maxwidth after whitespace.
That fixes orphaned first character in something like:
|Stopped in ... longsymbol+0xf00: |
|i
|nsn
diffstat:
sys/ddb/db_output.c | 32 ++++++++++++++++++++++----------
1 files changed, 22 insertions(+), 10 deletions(-)
diffs (62 lines):
diff -r 7905946ac410 -r 0140b7cfbf7f sys/ddb/db_output.c
--- a/sys/ddb/db_output.c Thu Sep 12 18:28:05 2019 +0000
+++ b/sys/ddb/db_output.c Thu Sep 12 18:43:02 2019 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: db_output.c,v 1.34 2018/09/16 23:18:55 mrg Exp $ */
+/* $NetBSD: db_output.c,v 1.35 2019/09/12 18:43:02 uwe Exp $ */
/*
* Mach Operating System
@@ -35,7 +35,7 @@
#endif
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_output.c,v 1.34 2018/09/16 23:18:55 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_output.c,v 1.35 2019/09/12 18:43:02 uwe Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -103,6 +103,24 @@
db_last_non_space = db_output_position;
}
+
+/*
+ * End the current line if we it exceeds $maxwidth
+ */
+static void
+db_check_wrap(void)
+{
+
+ if (db_max_width >= DB_MIN_MAX_WIDTH
+ && db_output_position >= db_max_width) {
+ cnputc('\n');
+ db_output_position = 0;
+ db_last_non_space = 0;
+ db_output_line++;
+ }
+}
+
+
static void
db_more(void)
{
@@ -148,16 +166,10 @@
* Use tabs if possible.
*/
db_force_whitespace();
+ db_check_wrap();
cnputc(c);
db_output_position++;
- if (db_max_width >= DB_MIN_MAX_WIDTH
- && db_output_position >= db_max_width) {
- /* auto new line */
- cnputc('\n');
- db_output_position = 0;
- db_last_non_space = 0;
- db_output_line++;
- }
+ db_check_wrap();
db_last_non_space = db_output_position;
} else if (c == '\n') {
/* Return */
Home |
Main Index |
Thread Index |
Old Index