Module Name:    src
Committed By:   christos
Date:           Sat Oct 19 15:44:31 UTC 2019

Modified Files:
        src/usr.bin/indent: indent.c indent.h io.c lexi.c parse.c

Log Message:
use stdarg, annotate function as __printflike and fix broken formats.


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/usr.bin/indent/indent.c
cvs rdiff -u -r1.1 -r1.2 src/usr.bin/indent/indent.h
cvs rdiff -u -r1.19 -r1.20 src/usr.bin/indent/io.c
cvs rdiff -u -r1.16 -r1.17 src/usr.bin/indent/lexi.c
cvs rdiff -u -r1.9 -r1.10 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/indent.c
diff -u src/usr.bin/indent/indent.c:1.25 src/usr.bin/indent/indent.c:1.26
--- src/usr.bin/indent/indent.c:1.25	Thu Apr  4 11:22:13 2019
+++ src/usr.bin/indent/indent.c	Sat Oct 19 11:44:31 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: indent.c,v 1.25 2019/04/04 15:22:13 kamil Exp $	*/
+/*	$NetBSD: indent.c,v 1.26 2019/10/19 15:44:31 christos Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -46,7 +46,7 @@ static char sccsid[] = "@(#)indent.c	5.1
 #include <sys/cdefs.h>
 #ifndef lint
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.c,v 1.25 2019/04/04 15:22:13 kamil Exp $");
+__RCSID("$NetBSD: indent.c,v 1.26 2019/10/19 15:44:31 christos Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/indent.c 340138 2018-11-04 19:24:49Z oshogbo $");
 #endif
@@ -360,7 +360,7 @@ main(int argc, char **argv)
 			break;	/* we are at end of comment */
 		    if (sc_end >= &save_com[sc_size]) {	/* check for temp buffer
 							 * overflow */
-			diag2(1, "Internal buffer overflow - Move big comment from right after if, while, or whatever");
+			diag(1, "Internal buffer overflow - Move big comment from right after if, while, or whatever");
 			fflush(output);
 			exit(1);
 		    }
@@ -429,7 +429,7 @@ main(int argc, char **argv)
 			*sc_end++ = ' ';
 			if (opt.verbose) /* print error msg if the line was
 					 * not already broken */
-			    diag2(0, "Line broken");
+			    diag(0, "Line broken");
 		    }
 		    for (t_ptr = token; *t_ptr; ++t_ptr)
 			*sc_end++ = *t_ptr;
@@ -498,7 +498,7 @@ check_type:
 		    || s_com != e_com)	/* must dump end of line */
 		dump_line();
 	    if (ps.tos > 1)	/* check for balanced braces */
-		diag2(1, "Stuff missing from end of file");
+		diag(1, "Stuff missing from end of file");
 
 	    if (opt.verbose) {
 		printf("There were %d output lines and %d comments\n",
@@ -519,7 +519,7 @@ check_type:
 		    (type_code != lbrace || !opt.btype_2)) {
 		/* we should force a broken line here */
 		if (opt.verbose)
-		    diag2(0, "Line broken");
+		    diag(0, "Line broken");
 		dump_line();
 		ps.want_blank = false;	/* dont insert blank at line start */
 		force_nl = false;
@@ -574,7 +574,7 @@ check_type:
 	case lparen:		/* got a '(' or '[' */
 	    /* count parens to make Healy happy */
 	    if (++ps.p_l_follow == nitems(ps.paren_indents)) {
-		diag3(0, "Reached internal limit of %d unclosed parens",
+		diag(0, "Reached internal limit of %zu unclosed parens",
 		    nitems(ps.paren_indents));
 		ps.p_l_follow--;
 	    }
@@ -625,7 +625,7 @@ check_type:
 	    ps.not_cast_mask &= (1 << ps.p_l_follow) - 1;
 	    if (--ps.p_l_follow < 0) {
 		ps.p_l_follow = 0;
-		diag3(0, "Extra %c", *token);
+		diag(0, "Extra %c", *token);
 	    }
 	    if (e_code == s_code)	/* if the paren starts the line */
 		ps.paren_level = ps.p_l_follow;	/* then indent it */
@@ -779,7 +779,7 @@ check_type:
 		 * stmt.  It is a bit complicated, because the semicolon might
 		 * be in a for stmt
 		 */
-		diag2(1, "Unbalanced parens");
+		diag(1, "Unbalanced parens");
 		ps.p_l_follow = 0;
 		if (sp_sw) {	/* this is a check for an if, while, etc. with
 				 * unbalanced parens */
@@ -828,7 +828,7 @@ check_type:
 
 	    if (ps.p_l_follow > 0) {	/* check for preceding unbalanced
 					 * parens */
-		diag2(1, "Unbalanced parens");
+		diag(1, "Unbalanced parens");
 		ps.p_l_follow = 0;
 		if (sp_sw) {	/* check for unclosed if, for, etc. */
 		    sp_sw = false;
@@ -843,7 +843,7 @@ check_type:
 						 * declaration or an init */
 		di_stack[ps.dec_nest] = dec_ind;
 		if (++ps.dec_nest == nitems(di_stack)) {
-		    diag3(0, "Reached internal limit of %d struct levels",
+		    diag(0, "Reached internal limit of %zu struct levels",
 			nitems(di_stack));
 		    ps.dec_nest--;
 		}
@@ -876,7 +876,7 @@ check_type:
 								 * declarations */
 		parse(semicolon);
 	    if (ps.p_l_follow) {/* check for unclosed if, for, else. */
-		diag2(1, "Unbalanced parens");
+		diag(1, "Unbalanced parens");
 		ps.p_l_follow = 0;
 		sp_sw = false;
 	    }
@@ -885,7 +885,7 @@ check_type:
 	    if (s_code != e_code && !ps.block_init) {	/* '}' must be first on
 							 * line */
 		if (opt.verbose)
-		    diag2(0, "Line broken");
+		    diag(0, "Line broken");
 		dump_line();
 	    }
 	    *e_code++ = '}';
@@ -928,7 +928,7 @@ check_type:
 	    if (*token == 'e') {
 		if (e_code != s_code && (!opt.cuddle_else || e_code[-1] != '}')) {
 		    if (opt.verbose)
-			diag2(0, "Line broken");
+			diag(0, "Line broken");
 		    dump_line();/* make sure this starts a line */
 		    ps.want_blank = false;
 		}
@@ -939,7 +939,7 @@ check_type:
 	    else {
 		if (e_code != s_code) {	/* make sure this starts a line */
 		    if (opt.verbose)
-			diag2(0, "Line broken");
+			diag(0, "Line broken");
 		    dump_line();
 		    ps.want_blank = false;
 		}
@@ -1170,11 +1170,11 @@ check_type:
 		    state_stack[ifdef_level++] = ps;
 		}
 		else
-		    diag2(1, "#if stack overflow");
+		    diag(1, "#if stack overflow");
 	    }
 	    else if (strncmp(s_lab, "#el", 3) == 0) { /* else, elif */
 		if (ifdef_level <= 0)
-		    diag2(1, s_lab[3] == 'i' ? "Unmatched #elif" : "Unmatched #else");
+		    diag(1, s_lab[3] == 'i' ? "Unmatched #elif" : "Unmatched #else");
 		else {
 		    match_state[ifdef_level - 1] = ps;
 		    ps = state_stack[ifdef_level - 1];
@@ -1182,7 +1182,7 @@ check_type:
 	    }
 	    else if (strncmp(s_lab, "#endif", 6) == 0) {
 		if (ifdef_level <= 0)
-		    diag2(1, "Unmatched #endif");
+		    diag(1, "Unmatched #endif");
 		else
 		    ifdef_level--;
 	    } else {
@@ -1203,7 +1203,7 @@ check_type:
 		    if (strncmp(s_lab + 1, recognized[d].string, recognized[d].size) == 0)
 			break;
 		if (d < 0) {
-		    diag2(1, "Unrecognized cpp directive");
+		    diag(1, "Unrecognized cpp directive");
 		    break;
 		}
 	    }

Index: src/usr.bin/indent/indent.h
diff -u src/usr.bin/indent/indent.h:1.1 src/usr.bin/indent/indent.h:1.2
--- src/usr.bin/indent/indent.h:1.1	Thu Apr  4 11:27:35 2019
+++ src/usr.bin/indent/indent.h	Sat Oct 19 11:44:31 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: indent.h,v 1.1 2019/04/04 15:27:35 kamil Exp $	*/
+/*	$NetBSD: indent.h,v 1.2 2019/10/19 15:44:31 christos Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
@@ -30,7 +30,7 @@
 
 #if 0
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: indent.h,v 1.1 2019/04/04 15:27:35 kamil Exp $");
+__RCSID("$NetBSD: indent.h,v 1.2 2019/10/19 15:44:31 christos Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/indent.h 336333 2018-07-16 05:46:50Z pstef $");
 #endif
@@ -48,9 +48,7 @@ int	count_spaces(int, char *);
 int	count_spaces_until(int, char *, char *);
 void	init_constant_tt(void);
 int	lexi(struct parser_state *);
-void	diag2(int, const char *);
-void	diag3(int, const char *, int);
-void	diag4(int, const char *, int, int);
+void	diag(int, const char *, ...) __printflike(2, 3);
 void	dump_line(void);
 void	fill_buffer(void);
 void	parse(int);

Index: src/usr.bin/indent/io.c
diff -u src/usr.bin/indent/io.c:1.19 src/usr.bin/indent/io.c:1.20
--- src/usr.bin/indent/io.c:1.19	Thu Apr  4 11:22:13 2019
+++ src/usr.bin/indent/io.c	Sat Oct 19 11:44:31 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: io.c,v 1.19 2019/04/04 15:22:13 kamil Exp $	*/
+/*	$NetBSD: io.c,v 1.20 2019/10/19 15:44:31 christos Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -46,7 +46,7 @@ static char sccsid[] = "@(#)io.c	8.1 (Be
 #include <sys/cdefs.h>
 #ifndef lint
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: io.c,v 1.19 2019/04/04 15:22:13 kamil Exp $");
+__RCSID("$NetBSD: io.c,v 1.20 2019/10/19 15:44:31 christos Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/io.c 334927 2018-06-10 16:44:18Z pstef $");
 #endif
@@ -57,6 +57,7 @@ __FBSDID("$FreeBSD: head/usr.bin/indent/
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <stdarg.h>
 #include "indent_globs.h"
 #include "indent.h"
 
@@ -484,52 +485,24 @@ count_spaces(int cur, char *buffer)
 }
 
 void
-diag4(int level, const char *msg, int a, int b)
+diag(int level, const char *msg, ...)
 {
-    if (level)
-	found_err = 1;
-    if (output == stdout) {
-	fprintf(stdout, "/**INDENT** %s@%d: ", level == 0 ? "Warning" : "Error", line_no);
-	fprintf(stdout, msg, a, b);
-	fprintf(stdout, " */\n");
-    }
-    else {
-	fprintf(stderr, "%s@%d: ", level == 0 ? "Warning" : "Error", line_no);
-	fprintf(stderr, msg, a, b);
-	fprintf(stderr, "\n");
-    }
-}
+    va_list ap;
+    const char *s, *e;
 
-void
-diag3(int level, const char *msg, int a)
-{
     if (level)
 	found_err = 1;
-    if (output == stdout) {
-	fprintf(stdout, "/**INDENT** %s@%d: ", level == 0 ? "Warning" : "Error", line_no);
-	fprintf(stdout, msg, a);
-	fprintf(stdout, " */\n");
-    }
-    else {
-	fprintf(stderr, "%s@%d: ", level == 0 ? "Warning" : "Error", line_no);
-	fprintf(stderr, msg, a);
-	fprintf(stderr, "\n");
-    }
-}
 
-void
-diag2(int level, const char *msg)
-{
-    if (level)
-	found_err = 1;
     if (output == stdout) {
-	fprintf(stdout, "/**INDENT** %s@%d: ", level == 0 ? "Warning" : "Error", line_no);
-	fprintf(stdout, "%s", msg);
-	fprintf(stdout, " */\n");
-    }
-    else {
-	fprintf(stderr, "%s@%d: ", level == 0 ? "Warning" : "Error", line_no);
-	fprintf(stderr, "%s", msg);
-	fprintf(stderr, "\n");
+	s = "/**INDENT** ";
+	e = " */";
+    } else {
+	s = e = "";
     }
+
+    va_start(ap, msg);
+    fprintf(stderr, "%s%s@%d: ", s, level == 0 ? "Warning" : "Error", line_no);
+    vfprintf(stderr, msg, ap);
+    fprintf(stderr, "%s\n", e);
+    va_end(ap);
 }

Index: src/usr.bin/indent/lexi.c
diff -u src/usr.bin/indent/lexi.c:1.16 src/usr.bin/indent/lexi.c:1.17
--- src/usr.bin/indent/lexi.c:1.16	Thu Apr  4 11:22:13 2019
+++ src/usr.bin/indent/lexi.c	Sat Oct 19 11:44:31 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: lexi.c,v 1.16 2019/04/04 15:22:13 kamil Exp $	*/
+/*	$NetBSD: lexi.c,v 1.17 2019/10/19 15:44:31 christos Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -46,7 +46,7 @@ static char sccsid[] = "@(#)lexi.c	8.1 (
 #include <sys/cdefs.h>
 #ifndef lint
 #if defined(__NetBSD__)
-__RCSID("$NetBSD: lexi.c,v 1.16 2019/04/04 15:22:13 kamil Exp $");
+__RCSID("$NetBSD: lexi.c,v 1.17 2019/10/19 15:44:31 christos Exp $");
 #elif defined(__FreeBSD__)
 __FBSDID("$FreeBSD: head/usr.bin/indent/lexi.c 337862 2018-08-15 18:19:45Z pstef $");
 #endif
@@ -392,7 +392,7 @@ lexi(struct parser_state *state)
 	do {			/* copy the string */
 	    while (1) {		/* move one character or [/<char>]<char> */
 		if (*buf_ptr == '\n') {
-		    diag2(1, "Unterminated literal");
+		    diag(1, "Unterminated literal");
 		    goto stop_lit;
 		}
 		CHECK_SIZE_TOKEN(2);

Index: src/usr.bin/indent/parse.c
diff -u src/usr.bin/indent/parse.c:1.9 src/usr.bin/indent/parse.c:1.10
--- src/usr.bin/indent/parse.c:1.9	Thu Apr  4 11:22:13 2019
+++ src/usr.bin/indent/parse.c	Sat Oct 19 11:44:31 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: parse.c,v 1.9 2019/04/04 15:22:13 kamil Exp $	*/
+/*	$NetBSD: parse.c,v 1.10 2019/10/19 15:44:31 christos Exp $	*/
 
 /*-
  * SPDX-License-Identifier: BSD-4-Clause
@@ -169,7 +169,7 @@ parse(int tk) /* tk: the code for the co
     case elselit:		/* scanned an else */
 
 	if (ps.p_stack[ps.tos] != ifhead)
-	    diag2(1, "Unmatched 'else'");
+	    diag(1, "Unmatched 'else'");
 	else {
 	    ps.ind_level = ps.il[ps.tos];	/* indentation for else should
 						 * be same as for if */
@@ -188,7 +188,7 @@ parse(int tk) /* tk: the code for the co
 	    ps.p_stack[ps.tos] = stmt;
 	}
 	else
-	    diag2(1, "Statement nesting error");
+	    diag(1, "Statement nesting error");
 	break;
 
     case swstmt:		/* had switch (...) */
@@ -212,7 +212,7 @@ parse(int tk) /* tk: the code for the co
 	break;
 
     default:			/* this is an error */
-	diag2(1, "Unknown code to parser");
+	diag(1, "Unknown code to parser");
 	return;
 
 

Reply via email to