Module Name:    src
Committed By:   rillig
Date:           Tue Oct  5 05:56:49 UTC 2021

Modified Files:
        src/usr.bin/indent: indent.c lexi.c pr_comment.c

Log Message:
indent: clean up code for appending to buffers

Use *e++ for appending and e[-1] for testing the previously appended
character, like in other places in the code.

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.99 -r1.100 src/usr.bin/indent/indent.c
cvs rdiff -u -r1.66 -r1.67 src/usr.bin/indent/lexi.c
cvs rdiff -u -r1.48 -r1.49 src/usr.bin/indent/pr_comment.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/indent/indent.c
diff -u src/usr.bin/indent/indent.c:1.99 src/usr.bin/indent/indent.c:1.100
--- src/usr.bin/indent/indent.c:1.99	Tue Oct  5 05:39:14 2021
+++ src/usr.bin/indent/indent.c	Tue Oct  5 05:56:49 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: indent.c,v 1.99 2021/10/05 05:39:14 rillig Exp $	*/
+/*	$NetBSD: indent.c,v 1.100 2021/10/05 05:56:49 rillig Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)indent.c	5.1
 
 #include <sys/cdefs.h>
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.c,v 1.99 2021/10/05 05:39:14 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.100 2021/10/05 05:56:49 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $");
 #endif
@@ -199,8 +199,8 @@ search_brace_comment(bool *inout_comment
     *sc_end++ = '/';		/* copy in start of comment */
     *sc_end++ = '*';
     for (;;) {			/* loop until the end of the comment */
-	*sc_end = inbuf_next();
-	if (*sc_end++ == '*' && *buf_ptr == '/')
+	*sc_end++ = inbuf_next();
+	if (sc_end[-1] == '*' && *buf_ptr == '/')
 	    break;		/* we are at end of comment */
 	if (sc_end >= &save_com[sc_size]) {	/* check for temp buffer
 						 * overflow */
@@ -483,7 +483,7 @@ main_parse_command_line(int argc, char *
 	opt.comment_column = 2;	/* don't put normal comments before column 2 */
     if (opt.block_comment_max_line_length <= 0)
 	opt.block_comment_max_line_length = opt.max_line_length;
-    if (opt.local_decl_indent < 0) /* if not specified by user, set this */
+    if (opt.local_decl_indent < 0)	/* if not specified by user, set this */
 	opt.local_decl_indent = opt.decl_indent;
     if (opt.decl_comment_column <= 0)	/* if not specified by user, set this */
 	opt.decl_comment_column = opt.ljust_decl
@@ -772,11 +772,10 @@ process_colon(int *inout_squest, bool *i
 	*lab.e = '\0';
 	code.e = code.s;
     }
-    *inout_force_nl = ps.pcase = *inout_scase;	/* ps.pcase will be used by
-						 * dump_line to decide how to
-						 * indent the label. force_nl
-						 * will force a case n: to be
-						 * on a line by itself */
+    ps.pcase = *inout_scase;	/* will be used by dump_line to decide how to
+				 * indent the label. */
+    *inout_force_nl = *inout_scase;	/* will force a 'case n:' to be on a
+					 * line by itself */
     *inout_scase = false;
     ps.want_blank = false;
 }
@@ -1109,8 +1108,8 @@ process_preprocessing(void)
 
 	while (*buf_ptr != '\n' || (in_comment && !had_eof)) {
 	    check_size_label(2);
-	    *lab.e = inbuf_next();
-	    switch (*lab.e++) {
+	    *lab.e++ = inbuf_next();
+	    switch (lab.e[-1]) {
 	    case '\\':
 		if (!in_comment)
 		    *lab.e++ = inbuf_next();
@@ -1151,7 +1150,7 @@ process_preprocessing(void)
 	    if (sc_end == NULL) {	/* if this is the first comment, we
 					 * must set up the buffer */
 		save_com = sc_buf;
-		sc_end = &save_com[0];
+		sc_end = save_com;
 	    } else {
 		*sc_end++ = '\n';	/* add newline between comments */
 		*sc_end++ = ' ';

Index: src/usr.bin/indent/lexi.c
diff -u src/usr.bin/indent/lexi.c:1.66 src/usr.bin/indent/lexi.c:1.67
--- src/usr.bin/indent/lexi.c:1.66	Tue Oct  5 05:39:14 2021
+++ src/usr.bin/indent/lexi.c	Tue Oct  5 05:56:49 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: lexi.c,v 1.66 2021/10/05 05:39:14 rillig Exp $	*/
+/*	$NetBSD: lexi.c,v 1.67 2021/10/05 05:56:49 rillig Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)lexi.c	8.1 (
 
 #include <sys/cdefs.h>
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: lexi.c,v 1.66 2021/10/05 05:39:14 rillig Exp $");
+__RCSID("$NetBSD: lexi.c,v 1.67 2021/10/05 05:56:49 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $");
 #endif
@@ -589,7 +589,7 @@ lexi(struct parser_state *state)
 	if (*buf_ptr == '=') {	/* == */
 	    *token.e++ = '=';	/* Flip =+ to += */
 	    buf_ptr++;
-	    *token.e = 0;
+	    *token.e = '\0';
 	}
 	ttype = binary_op;
 	unary_delim = true;

Index: src/usr.bin/indent/pr_comment.c
diff -u src/usr.bin/indent/pr_comment.c:1.48 src/usr.bin/indent/pr_comment.c:1.49
--- src/usr.bin/indent/pr_comment.c:1.48	Tue Oct  5 05:39:14 2021
+++ src/usr.bin/indent/pr_comment.c	Tue Oct  5 05:56:49 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: pr_comment.c,v 1.48 2021/10/05 05:39:14 rillig Exp $	*/
+/*	$NetBSD: pr_comment.c,v 1.49 2021/10/05 05:56:49 rillig Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -43,7 +43,7 @@ static char sccsid[] = "@(#)pr_comment.c
 
 #include <sys/cdefs.h>
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: pr_comment.c,v 1.48 2021/10/05 05:39:14 rillig Exp $");
+__RCSID("$NetBSD: pr_comment.c,v 1.49 2021/10/05 05:56:49 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/pr_comment.c 334927 2018-06-10 16:44:18Z pstef $");
 #endif
@@ -193,7 +193,7 @@ process_comment(void)
     if (break_delim) {
 	char *t = com.e;
 	com.e = com.s + 2;
-	*com.e = 0;
+	*com.e = '\0';
 	if (opt.blanklines_before_blockcomments && ps.last_token != lbrace)
 	    prefix_blankline_requested = true;
 	dump_line();
@@ -300,11 +300,10 @@ process_comment(void)
 	    int now_len = indentation_after_range(ps.com_col - 1, com.s, com.e);
 	    do {
 		check_size_comment(1);
-		*com.e = inbuf_next();
-		if (*com.e == ' ' || *com.e == '\t')
-		    last_blank = com.e - com.buf;	/* remember we saw a
-							 * blank */
-		++com.e;
+		char ch = inbuf_next();
+		if (ch == ' ' || ch == '\t')
+		    last_blank = com.e - com.buf;
+		*com.e++ = ch;
 		now_len++;
 	    } while (memchr("*\n\r\b\t", *buf_ptr, 6) == NULL &&
 		(now_len < adj_max_line_length || last_blank == -1));

Reply via email to