Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.bin/indent indent: clean up process_comment
details: https://anonhg.NetBSD.org/src/rev/e4f617cd367b
branches: trunk
changeset: 1024503:e4f617cd367b
user: rillig <rillig%NetBSD.org@localhost>
date: Tue Oct 26 21:37:27 2021 +0000
description:
indent: clean up process_comment
There is no undefined behavior since the compared characters are always
from the basic execution character set. All other cases are covered by
the condition above for now_len.
Fix debug logging for non-ASCII characters, previously a character was
output as \xffffffc3.
diffstat:
tests/usr.bin/indent/token_comment.c | 14 +++++++++++++-
usr.bin/indent/indent.c | 6 +++---
usr.bin/indent/pr_comment.c | 8 ++++----
3 files changed, 20 insertions(+), 8 deletions(-)
diffs (86 lines):
diff -r f8133254024d -r e4f617cd367b tests/usr.bin/indent/token_comment.c
--- a/tests/usr.bin/indent/token_comment.c Tue Oct 26 21:23:52 2021 +0000
+++ b/tests/usr.bin/indent/token_comment.c Tue Oct 26 21:37:27 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: token_comment.c,v 1.7 2021/10/24 21:55:07 rillig Exp $ */
+/* $NetBSD: token_comment.c,v 1.8 2021/10/26 21:37:27 rillig Exp $ */
/* $FreeBSD$ */
/*
@@ -729,3 +729,15 @@
#indent end
#indent run-equals-input -nfc1
+
+
+#indent input
+/* comment comment comment comment Ümläute */
+#indent end
+
+#indent run -l40
+/*
+ * comment comment comment comment
+ * Ümläute
+ */
+#indent end
diff -r f8133254024d -r e4f617cd367b usr.bin/indent/indent.c
--- a/usr.bin/indent/indent.c Tue Oct 26 21:23:52 2021 +0000
+++ b/usr.bin/indent/indent.c Tue Oct 26 21:37:27 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: indent.c,v 1.161 2021/10/26 20:43:35 rillig Exp $ */
+/* $NetBSD: indent.c,v 1.162 2021/10/26 21:37:27 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@
#include <sys/cdefs.h>
#if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.c,v 1.161 2021/10/26 20:43:35 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.162 2021/10/26 21:37:27 rillig Exp $");
#elif defined(__FreeBSD__)
__FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $");
#endif
@@ -1562,7 +1562,7 @@
else if (*p == '\t')
debug_printf("\\t");
else
- debug_printf("\\x%02x", *p);
+ debug_printf("\\x%02x", (unsigned char)*p);
}
debug_printf("%s", suffix);
}
diff -r f8133254024d -r e4f617cd367b usr.bin/indent/pr_comment.c
--- a/usr.bin/indent/pr_comment.c Tue Oct 26 21:23:52 2021 +0000
+++ b/usr.bin/indent/pr_comment.c Tue Oct 26 21:37:27 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pr_comment.c,v 1.86 2021/10/26 21:23:52 rillig Exp $ */
+/* $NetBSD: pr_comment.c,v 1.87 2021/10/26 21:37:27 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -43,12 +43,13 @@
#include <sys/cdefs.h>
#if defined(__NetBSD__)
-__RCSID("$NetBSD: pr_comment.c,v 1.86 2021/10/26 21:23:52 rillig Exp $");
+__RCSID("$NetBSD: pr_comment.c,v 1.87 2021/10/26 21:37:27 rillig Exp $");
#elif defined(__FreeBSD__)
__FBSDID("$FreeBSD: head/usr.bin/indent/pr_comment.c 334927 2018-06-10 16:44:18Z pstef $");
#endif
#include <assert.h>
+#include <ctype.h>
#include <stdio.h>
#include <string.h>
@@ -333,8 +334,7 @@
if (now_len <= adj_max_line_length || !may_wrap)
break;
- /* XXX: signed character comparison '>' does not work for UTF-8 */
- if (com.e[-1] <= ' ')
+ if (isspace((unsigned char)com.e[-1]))
break;
if (last_blank == -1) { /* only a single word in this line */
Home |
Main Index |
Thread Index |
Old Index