Module Name:    src
Committed By:   rillig
Date:           Wed Jun 14 13:15:30 UTC 2023

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

Log Message:
indent: merge duplicate code


To generate a diff of this commit:
cvs rdiff -u -r1.362 -r1.363 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.362 src/usr.bin/indent/indent.c:1.363
--- src/usr.bin/indent/indent.c:1.362	Wed Jun 14 11:18:09 2023
+++ src/usr.bin/indent/indent.c	Wed Jun 14 13:15:30 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: indent.c,v 1.362 2023/06/14 11:18:09 rillig Exp $	*/
+/*	$NetBSD: indent.c,v 1.363 2023/06/14 13:15:30 rillig Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: indent.c,v 1.362 2023/06/14 11:18:09 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.363 2023/06/14 13:15:30 rillig Exp $");
 
 #include <sys/param.h>
 #include <err.h>
@@ -523,13 +523,20 @@ want_blank_before_lparen(void)
 }
 
 static void
-process_lparen(void)
+ps_paren_push(int indent, enum paren_level_cast cast)
 {
 	if (++ps.nparen == array_length(ps.paren)) {
 		diag(0, "Reached internal limit of %zu unclosed parentheses",
-		    array_length(ps.paren));
+		     array_length(ps.paren));
 		ps.nparen--;
 	}
+	ps.paren[ps.nparen - 1].indent = indent;
+	ps.paren[ps.nparen - 1].cast = cast;
+}
+
+static void
+process_lparen(void)
+{
 
 	if (is_function_pointer_declaration())
 		indent_declarator(ps.decl_ind, ps.tabs_to_var);
@@ -558,8 +565,7 @@ process_lparen(void)
 	    || ps.line_has_func_def)
 		cast = cast_no;
 
-	ps.paren[ps.nparen - 1].indent = indent;
-	ps.paren[ps.nparen - 1].cast = cast;
+	ps_paren_push(indent, cast);
 	debug_println("paren_indents[%d] is now %s%d",
 	    ps.nparen - 1, paren_level_cast_name[cast], indent);
 }
@@ -605,12 +611,6 @@ unbalanced:
 static void
 process_lbracket(void)
 {
-	if (++ps.nparen == array_length(ps.paren)) {
-		diag(0, "Reached internal limit of %zu unclosed parentheses",
-		    array_length(ps.paren));
-		ps.nparen--;
-	}
-
 	if (code.len > 0
 	    && (ps.prev_lsym == lsym_comma || ps.prev_lsym == lsym_binary_op))
 		buf_add_char(&code, ' ');
@@ -618,9 +618,7 @@ process_lbracket(void)
 	buf_add_char(&code, token.s[0]);
 
 	int indent = ind_add(0, code.s, code.len);
-
-	ps.paren[ps.nparen - 1].indent = indent;
-	ps.paren[ps.nparen - 1].cast = cast_no;
+	ps_paren_push(indent, cast_no);
 	debug_println("paren_indents[%d] is now %d", ps.nparen - 1, indent);
 }
 

Reply via email to