Module Name: src Committed By: rillig Date: Thu Oct 28 22:20:08 UTC 2021
Modified Files: src/usr.bin/indent: args.c indent.c indent.h parse.c Log Message: indent: clean up indentation, comments, reduce No functional change. To generate a diff of this commit: cvs rdiff -u -r1.65 -r1.66 src/usr.bin/indent/args.c cvs rdiff -u -r1.166 -r1.167 src/usr.bin/indent/indent.c cvs rdiff -u -r1.54 -r1.55 src/usr.bin/indent/indent.h cvs rdiff -u -r1.43 -r1.44 src/usr.bin/indent/parse.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/args.c diff -u src/usr.bin/indent/args.c:1.65 src/usr.bin/indent/args.c:1.66 --- src/usr.bin/indent/args.c:1.65 Thu Oct 28 21:35:57 2021 +++ src/usr.bin/indent/args.c Thu Oct 28 22:20:08 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: args.c,v 1.65 2021/10/28 21:35:57 rillig Exp $ */ +/* $NetBSD: args.c,v 1.66 2021/10/28 22:20:08 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -43,7 +43,7 @@ static char sccsid[] = "@(#)args.c 8.1 ( #include <sys/cdefs.h> #if defined(__NetBSD__) -__RCSID("$NetBSD: args.c,v 1.65 2021/10/28 21:35:57 rillig Exp $"); +__RCSID("$NetBSD: args.c,v 1.66 2021/10/28 22:20:08 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/args.c 336318 2018-07-15 21:04:21Z pstef $"); #endif @@ -169,7 +169,7 @@ set_special_option(const char *arg, cons opt.case_indent = (float)strtod(arg_end, &end); if (*end != '\0') errx(1, "%s: argument \"%s\" to option \"-%.*s\" must be numeric", - option_source, arg_end, (int)(arg_end - arg), arg); + option_source, arg_end, (int)(arg_end - arg), arg); return true; } @@ -283,7 +283,7 @@ load_profile(const char *fname, bool mus break; } else if (n >= array_length(buf) - 5) { errx(1, "buffer overflow in %s, starting with '%.10s'", - fname, buf); + fname, buf); } else buf[n++] = (char)ch; } Index: src/usr.bin/indent/indent.c diff -u src/usr.bin/indent/indent.c:1.166 src/usr.bin/indent/indent.c:1.167 --- src/usr.bin/indent/indent.c:1.166 Thu Oct 28 22:06:23 2021 +++ src/usr.bin/indent/indent.c Thu Oct 28 22:20:08 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: indent.c,v 1.166 2021/10/28 22:06:23 rillig Exp $ */ +/* $NetBSD: indent.c,v 1.167 2021/10/28 22:20:08 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.166 2021/10/28 22:06:23 rillig Exp $"); +__RCSID("$NetBSD: indent.c,v 1.167 2021/10/28 22:20:08 rillig Exp $"); #elif defined(__FreeBSD__) __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $"); #endif @@ -791,7 +791,7 @@ process_rparen_or_rbracket(bool *spaced_ ps.next_unary = true; ps.in_stmt = false; /* don't use stmt continuation indentation */ - parse_hd(hd); /* let parser worry about if, or whatever */ + parse_stmt_head(hd); } /* @@ -908,10 +908,9 @@ process_semicolon(bool *seen_case, int * */ diag(1, "Unbalanced parens"); ps.p_l_follow = 0; - if (*spaced_expr) { /* 'if', 'while', etc. with unbalanced - * parentheses */ + if (*spaced_expr) { /* 'if', 'while', etc. */ *spaced_expr = false; - parse_hd(hd); /* don't lose the 'if', or whatever */ + parse_stmt_head(hd); } } *code.e++ = ';'; @@ -962,7 +961,7 @@ process_lbrace(bool *force_nl, bool *spa ps.p_l_follow = 0; if (*spaced_expr) { /* check for unclosed 'if', 'for', etc. */ *spaced_expr = false; - parse_hd(hd); + parse_stmt_head(hd); ps.ind_level = ps.ind_level_follow; } } @@ -1137,7 +1136,7 @@ process_ident(lexer_symbol lsym, int dec *force_nl = true; ps.next_unary = true; ps.in_stmt = false; - parse_hd(hd); + parse_stmt_head(hd); } } Index: src/usr.bin/indent/indent.h diff -u src/usr.bin/indent/indent.h:1.54 src/usr.bin/indent/indent.h:1.55 --- src/usr.bin/indent/indent.h:1.54 Thu Oct 28 21:56:26 2021 +++ src/usr.bin/indent/indent.h Thu Oct 28 22:20:08 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: indent.h,v 1.54 2021/10/28 21:56:26 rillig Exp $ */ +/* $NetBSD: indent.h,v 1.55 2021/10/28 22:20:08 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD @@ -374,7 +374,7 @@ void dump_line(void); void dump_line_ff(void); void inbuf_read_line(void); void parse(parser_symbol); -void parse_hd(stmt_head); +void parse_stmt_head(stmt_head); void process_comment(void); void set_option(const char *, const char *); void load_profiles(const char *); Index: src/usr.bin/indent/parse.c diff -u src/usr.bin/indent/parse.c:1.43 src/usr.bin/indent/parse.c:1.44 --- src/usr.bin/indent/parse.c:1.43 Thu Oct 28 21:51:43 2021 +++ src/usr.bin/indent/parse.c Thu Oct 28 22:20:08 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: parse.c,v 1.43 2021/10/28 21:51:43 rillig Exp $ */ +/* $NetBSD: parse.c,v 1.44 2021/10/28 22:20:08 rillig Exp $ */ /*- * SPDX-License-Identifier: BSD-4-Clause @@ -246,7 +246,7 @@ parse(parser_symbol psym) } void -parse_hd(stmt_head hd) +parse_stmt_head(stmt_head hd) { static const parser_symbol psym[] = { [hd_for] = psym_for_exprs, @@ -257,10 +257,6 @@ parse_hd(stmt_head hd) parse(psym[hd]); } -/*----------------------------------------------*\ -| REDUCTION PHASE | -\*----------------------------------------------*/ - /* * Try to combine the statement on the top of the parse stack with the symbol * directly below it, replacing these two symbols with a single symbol. @@ -290,8 +286,8 @@ reduce_stmt(void) ps.ind_level_follow = ps.s_ind_level[i]; /* * For the time being, assume that there is no 'else' on this 'if', - * and set the indentation level accordingly. If an 'else' is - * scanned, it will be fixed up later. + * and set the indentation level accordingly. If an 'else' is scanned, + * it will be fixed up later. */ return true; @@ -314,21 +310,16 @@ reduce_stmt(void) /* * Repeatedly try to reduce the top two symbols on the parse stack to a * single symbol, until no more reductions are possible. - * - * On each reduction, ps.i_l_follow (the indentation for the following line) - * is set to the indentation level associated with the old TOS. */ static void reduce(void) { again: - if (ps.s_sym[ps.tos] == psym_stmt) { - if (reduce_stmt()) - goto again; - } else if (ps.s_sym[ps.tos] == psym_while_expr) { - if (ps.s_sym[ps.tos - 1] == psym_do_stmt) { - ps.tos -= 2; - goto again; - } + if (ps.s_sym[ps.tos] == psym_stmt && reduce_stmt()) + goto again; + if (ps.s_sym[ps.tos] == psym_while_expr && + ps.s_sym[ps.tos - 1] == psym_do_stmt) { + ps.tos -= 2; /* XXX: why not reduce to stmt? */ + goto again; } }