Module Name: src Committed By: rillig Date: Fri Nov 19 19:55:15 UTC 2021
Modified Files: src/usr.bin/indent: indent.c indent.h io.c lexi.c Log Message: indent: replace ps.procname with ps.is_function_definition Omly the first character of ps.procname was ever read, and it was only compared to '\0'. Using a bool for this means simpler code, less memory and fewer wasted CPU cycles due to the removed strncpy. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.225 -r1.226 src/usr.bin/indent/indent.c cvs rdiff -u -r1.96 -r1.97 src/usr.bin/indent/indent.h cvs rdiff -u -r1.124 -r1.125 src/usr.bin/indent/io.c cvs rdiff -u -r1.146 -r1.147 src/usr.bin/indent/lexi.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.225 src/usr.bin/indent/indent.c:1.226 --- src/usr.bin/indent/indent.c:1.225 Fri Nov 19 18:14:18 2021 +++ src/usr.bin/indent/indent.c Fri Nov 19 19:55:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: indent.c,v 1.225 2021/11/19 18:14:18 rillig Exp $ */ +/* $NetBSD: indent.c,v 1.226 2021/11/19 19:55:15 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.225 2021/11/19 18:14:18 rillig Exp $"); +__RCSID("$NetBSD: indent.c,v 1.226 2021/11/19 19:55:15 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $"); #endif @@ -671,7 +671,7 @@ process_lparen_or_lbracket(int decl_ind, if (token.s[0] == '(' && ps.in_decl && !ps.block_init && !ps.decl_indent_done && - ps.procname[0] == '\0' && ps.paren_level == 0) { + !ps.is_function_definition && ps.paren_level == 0) { /* function pointer declarations */ code_add_decl_indent(decl_ind, tabs_to_var); ps.decl_indent_done = true; @@ -756,7 +756,7 @@ static void process_unary_op(int decl_ind, bool tabs_to_var) { if (!ps.decl_indent_done && ps.in_decl && !ps.block_init && - ps.procname[0] == '\0' && ps.paren_level == 0) { + !ps.is_function_definition && ps.paren_level == 0) { /* pointer declarations */ code_add_decl_indent(decl_ind - (int)buf_len(&token), tabs_to_var); ps.decl_indent_done = true; @@ -1119,7 +1119,7 @@ process_comma(int decl_ind, bool tabs_to ps.want_blank = code.s != code.e; /* only put blank after comma if comma * does not start the line */ - if (ps.in_decl && ps.procname[0] == '\0' && !ps.block_init && + if (ps.in_decl && !ps.is_function_definition && !ps.block_init && !ps.decl_indent_done && ps.paren_level == 0) { /* indent leading commas and not the actual identifiers */ code_add_decl_indent(decl_ind - 1, tabs_to_var); Index: src/usr.bin/indent/indent.h diff -u src/usr.bin/indent/indent.h:1.96 src/usr.bin/indent/indent.h:1.97 --- src/usr.bin/indent/indent.h:1.96 Fri Nov 19 18:25:50 2021 +++ src/usr.bin/indent/indent.h Fri Nov 19 19:55:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: indent.h,v 1.96 2021/11/19 18:25:50 rillig Exp $ */ +/* $NetBSD: indent.h,v 1.97 2021/11/19 19:55:15 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD @@ -256,10 +256,7 @@ extern struct parser_state { bool next_unary; /* whether the following operator should be * unary */ - char procname[100]; /* The name of the current procedure; TODO: - * document the difference between procname[0] - * being '\0', ' ' and a real character */ - + bool is_function_definition; bool want_blank; /* whether the following token should be * prefixed by a blank. (Said prefixing is Index: src/usr.bin/indent/io.c diff -u src/usr.bin/indent/io.c:1.124 src/usr.bin/indent/io.c:1.125 --- src/usr.bin/indent/io.c:1.124 Fri Nov 19 18:25:50 2021 +++ src/usr.bin/indent/io.c Fri Nov 19 19:55:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: io.c,v 1.124 2021/11/19 18:25:50 rillig Exp $ */ +/* $NetBSD: io.c,v 1.125 2021/11/19 19:55:15 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -43,7 +43,7 @@ static char sccsid[] = "@(#)io.c 8.1 (Be #include <sys/cdefs.h> #if defined(__NetBSD__) -__RCSID("$NetBSD: io.c,v 1.124 2021/11/19 18:25:50 rillig Exp $"); +__RCSID("$NetBSD: io.c,v 1.125 2021/11/19 19:55:15 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/io.c 334927 2018-06-10 16:44:18Z pstef $"); #endif @@ -449,7 +449,7 @@ output_line(char line_terminator) { static bool first_line = true; - ps.procname[0] = '\0'; + ps.is_function_definition = false; if (code.s == code.e && lab.s == lab.e && com.s == com.e) { if (suppress_blanklines) Index: src/usr.bin/indent/lexi.c diff -u src/usr.bin/indent/lexi.c:1.146 src/usr.bin/indent/lexi.c:1.147 --- src/usr.bin/indent/lexi.c:1.146 Fri Nov 19 19:37:13 2021 +++ src/usr.bin/indent/lexi.c Fri Nov 19 19:55:15 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lexi.c,v 1.146 2021/11/19 19:37:13 rillig Exp $ */ +/* $NetBSD: lexi.c,v 1.147 2021/11/19 19:55:15 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.146 2021/11/19 19:37:13 rillig Exp $"); +__RCSID("$NetBSD: lexi.c,v 1.147 2021/11/19 19:55:15 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $"); #endif @@ -275,8 +275,7 @@ debug_lexi(lexer_symbol lsym) debug_ps_bool(next_col_1); debug_ps_bool(curr_col_1); debug_ps_bool(next_unary); - if (strcmp(ps.procname, prev_ps.procname) != 0) - debug_println(" ps.procname = \"%s\"", ps.procname); + debug_ps_bool(is_function_definition); debug_ps_bool(want_blank); debug_ps_int(paren_level); debug_ps_int(p_l_follow); @@ -517,7 +516,7 @@ found_typename: if (*p++ == ')' && (*p == ';' || *p == ',')) goto no_function_definition; - strncpy(ps.procname, token.s, sizeof ps.procname - 1); + ps.is_function_definition = true; if (ps.in_decl) ps.in_parameter_declaration = true; return lsym_funcname; @@ -705,7 +704,7 @@ lexi(void) } if (tp < e && *tp == '(') - ps.procname[0] = ' '; /* XXX: why not '\0'? */ + ps.is_function_definition = true; } lsym = lsym_unary_op;