Module Name:    src
Committed By:   rillig
Date:           Thu Nov  4 20:31:05 UTC 2021

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

Log Message:
indent: split process_comment_in_code into separate functions

No functional change.


To generate a diff of this commit:
cvs rdiff -u -r1.206 -r1.207 src/usr.bin/indent/indent.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.206 src/usr.bin/indent/indent.c:1.207
--- src/usr.bin/indent/indent.c:1.206	Thu Nov  4 17:12:12 2021
+++ src/usr.bin/indent/indent.c	Thu Nov  4 20:31:04 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: indent.c,v 1.206 2021/11/04 17:12:12 rillig Exp $	*/
+/*	$NetBSD: indent.c,v 1.207 2021/11/04 20:31:04 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.206 2021/11/04 17:12:12 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.207 2021/11/04 20:31:04 rillig Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $");
 #endif
@@ -685,31 +685,31 @@ process_end_of_file(void)
 }
 
 static void
-process_comment_in_code(lexer_symbol lsym, bool *force_nl)
+maybe_break_line(lexer_symbol lsym, bool *force_nl)
 {
-    if (*force_nl &&
-	lsym != lsym_semicolon &&
-	(lsym != lsym_lbrace || !opt.brace_same_line)) {
-
-	/* we should force a broken line here */
-	if (opt.verbose)
-	    diag(0, "Line broken");
-	dump_line();
-	ps.want_blank = false;	/* don't insert blank at line start */
-	*force_nl = false;
-    }
+    if (!*force_nl)
+	return;
+    if (lsym == lsym_semicolon)
+	return;
+    else if (lsym == lsym_lbrace && opt.brace_same_line)
+	return;
 
-    /* add an extra level of indentation; turned off again by a ';' or '}' */
-    ps.in_stmt = true;
+    if (opt.verbose)
+	diag(0, "Line broken");
+    dump_line();
+    ps.want_blank = false;
+    *force_nl = false;
+}
 
-    if (com.s != com.e) {	/* a comment embedded in a line */
-	buf_add_char(&code, ' ');
-	buf_add_buf(&code, &com);
-	buf_add_char(&code, ' ');
-	buf_terminate(&code);
-	buf_reset(&com);
-	ps.want_blank = false;
-    }
+static void
+move_com_to_code(void)
+{
+    buf_add_char(&code, ' ');
+    buf_add_buf(&code, &com);
+    buf_add_char(&code, ' ');
+    buf_terminate(&code);
+    buf_reset(&com);
+    ps.want_blank = false;
 }
 
 static void
@@ -1402,8 +1402,13 @@ main_loop(void)
 	if (lsym == lsym_newline || lsym == lsym_form_feed ||
 		lsym == lsym_preprocessing)
 	    force_nl = false;
-	else if (lsym != lsym_comment)
-	    process_comment_in_code(lsym, &force_nl);
+	else if (lsym != lsym_comment) {
+	    maybe_break_line(lsym, &force_nl);
+	    ps.in_stmt = true;	/* add an extra level of indentation; turned
+				 * off again by a ';' or '}' */
+	    if (com.s != com.e)
+		move_com_to_code();
+	}
 
 	buf_reserve(&code, 3);	/* space for 2 characters plus '\0' */
 

Reply via email to