Module Name:    src
Committed By:   rillig
Date:           Sat Aug 12 20:48:24 UTC 2023

Modified Files:
        src/usr.bin/xlint/common: emit.c externs.h
        src/usr.bin/xlint/lint1: emit1.c mem1.c
        src/usr.bin/xlint/lint2: emit2.c

Log Message:
lint: for each record in the output file, write the newline immediately

There's no point delaying the '\n' until the next line is written.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/usr.bin/xlint/common/emit.c
cvs rdiff -u -r1.29 -r1.30 src/usr.bin/xlint/common/externs.h
cvs rdiff -u -r1.73 -r1.74 src/usr.bin/xlint/lint1/emit1.c \
    src/usr.bin/xlint/lint1/mem1.c
cvs rdiff -u -r1.33 -r1.34 src/usr.bin/xlint/lint2/emit2.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/xlint/common/emit.c
diff -u src/usr.bin/xlint/common/emit.c:1.23 src/usr.bin/xlint/common/emit.c:1.24
--- src/usr.bin/xlint/common/emit.c:1.23	Sat Aug 12 17:13:27 2023
+++ src/usr.bin/xlint/common/emit.c	Sat Aug 12 20:48:24 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: emit.c,v 1.23 2023/08/12 17:13:27 rillig Exp $	*/
+/*	$NetBSD: emit.c,v 1.24 2023/08/12 20:48:24 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: emit.c,v 1.23 2023/08/12 17:13:27 rillig Exp $");
+__RCSID("$NetBSD: emit.c,v 1.24 2023/08/12 20:48:24 rillig Exp $");
 #endif
 
 #include <stdio.h>
@@ -47,7 +47,6 @@ __RCSID("$NetBSD: emit.c,v 1.23 2023/08/
 
 static const char *output_name;
 static FILE *output_file;
-static bool in_line;
 
 void
 outopen(const char *name)
@@ -62,25 +61,15 @@ void
 outclose(void)
 {
 
-	outclr();
 	if (fclose(output_file) == EOF)
 		err(1, "cannot close '%s'", output_name);
 }
 
 void
-outclr(void)
-{
-
-	if (in_line)
-		outchar('\n');
-}
-
-void
 outchar(char c)
 {
 
 	fputc(c, output_file);
-	in_line = c != '\n';
 }
 
 /*
@@ -119,7 +108,7 @@ void
 outsrc(const char *name)
 {
 
-	outclr();
 	outchar('S');
 	outstrg(name);
+	outchar('\n');
 }

Index: src/usr.bin/xlint/common/externs.h
diff -u src/usr.bin/xlint/common/externs.h:1.29 src/usr.bin/xlint/common/externs.h:1.30
--- src/usr.bin/xlint/common/externs.h:1.29	Thu Jul 13 08:40:38 2023
+++ src/usr.bin/xlint/common/externs.h	Sat Aug 12 20:48:24 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: externs.h,v 1.29 2023/07/13 08:40:38 rillig Exp $	*/
+/*	$NetBSD: externs.h,v 1.30 2023/08/12 20:48:24 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -54,7 +54,6 @@ char	*xasprintf(const char *, ...) __pri
 #if defined(IS_LINT1) || defined(IS_LINT2)
 void	outopen(const char *);
 void	outclose(void);
-void	outclr(void);
 void	outchar(char);
 void	outstrg(const char *);
 void	outint(int);

Index: src/usr.bin/xlint/lint1/emit1.c
diff -u src/usr.bin/xlint/lint1/emit1.c:1.73 src/usr.bin/xlint/lint1/emit1.c:1.74
--- src/usr.bin/xlint/lint1/emit1.c:1.73	Wed Aug  2 18:51:25 2023
+++ src/usr.bin/xlint/lint1/emit1.c	Sat Aug 12 20:48:24 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: emit1.c,v 1.73 2023/08/02 18:51:25 rillig Exp $ */
+/* $NetBSD: emit1.c,v 1.74 2023/08/12 20:48:24 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: emit1.c,v 1.73 2023/08/02 18:51:25 rillig Exp $");
+__RCSID("$NetBSD: emit1.c,v 1.74 2023/08/12 20:48:24 rillig Exp $");
 #endif
 
 #include "lint1.h"
@@ -191,9 +191,6 @@ outsym(const sym_t *sym, scl_t sc, def_t
 	if (ch_isdigit(sym->s_name[0]))	/* 00000000_tmp */
 		return;
 
-	/* reset buffer */
-	outclr();
-
 	outint(csrc_pos.p_line);
 	outchar('d');		/* declaration */
 	outint(get_filename_id(sym->s_def_pos.p_file));
@@ -233,6 +230,7 @@ outsym(const sym_t *sym, scl_t sc, def_t
 
 	/* type of the symbol */
 	outtype(sym->s_type);
+	outchar('\n');
 }
 
 /*
@@ -246,9 +244,6 @@ outfdef(const sym_t *fsym, const pos_t *
 	int narg;
 	const sym_t *arg;
 
-	/* reset the buffer */
-	outclr();
-
 	if (posp->p_file == csrc_pos.p_file) {
 		outint(posp->p_line);
 	} else {
@@ -325,6 +320,7 @@ outfdef(const sym_t *fsym, const pos_t *
 	} else {
 		outtype(fsym->s_type);
 	}
+	outchar('\n');
 }
 
 /*
@@ -342,9 +338,6 @@ outcall(const tnode_t *tn, bool retval_u
 	int narg, n, i;
 	tspec_t t;
 
-	/* reset buffer */
-	outclr();
-
 	outint(csrc_pos.p_line);
 	outchar('c');		/* function call */
 	outint(get_filename_id(curr_pos.p_file));
@@ -412,6 +405,7 @@ outcall(const tnode_t *tn, bool retval_u
 	}
 	/* expected type of return value */
 	outtype(tn->tn_type);
+	outchar('\n');
 }
 
 /* write a character to the output buffer, quoted if necessary */
@@ -573,9 +567,6 @@ outusg(const sym_t *sym)
 	if (ch_isdigit(sym->s_name[0]))	/* 00000000_tmp, from mktempsym */
 		return;
 
-	/* reset buffer */
-	outclr();
-
 	outint(csrc_pos.p_line);
 	outchar('u');		/* used */
 	outint(get_filename_id(curr_pos.p_file));
@@ -586,4 +577,5 @@ outusg(const sym_t *sym)
 	outchar('x');
 
 	outname(sym->s_name);
+	outchar('\n');
 }
Index: src/usr.bin/xlint/lint1/mem1.c
diff -u src/usr.bin/xlint/lint1/mem1.c:1.73 src/usr.bin/xlint/lint1/mem1.c:1.74
--- src/usr.bin/xlint/lint1/mem1.c:1.73	Sun Jul 30 08:58:54 2023
+++ src/usr.bin/xlint/lint1/mem1.c	Sat Aug 12 20:48:24 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: mem1.c,v 1.73 2023/07/30 08:58:54 rillig Exp $	*/
+/*	$NetBSD: mem1.c,v 1.74 2023/08/12 20:48:24 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: mem1.c,v 1.73 2023/07/30 08:58:54 rillig Exp $");
+__RCSID("$NetBSD: mem1.c,v 1.74 2023/08/12 20:48:24 rillig Exp $");
 #endif
 
 #include <sys/param.h>
@@ -138,11 +138,10 @@ record_filename(const char *s, size_t sl
 	fn->fn_next = filenames;
 	filenames = fn;
 
-	/* Write the ID of this filename to the output file. */
-	outclr();
 	outint(fn->fn_id);
 	outchar('s');
 	outstrg(transform_filename(fn->fn_name, fn->fn_len));
+	outchar('\n');
 
 	return fn->fn_name;
 }

Index: src/usr.bin/xlint/lint2/emit2.c
diff -u src/usr.bin/xlint/lint2/emit2.c:1.33 src/usr.bin/xlint/lint2/emit2.c:1.34
--- src/usr.bin/xlint/lint2/emit2.c:1.33	Thu Jul 13 08:40:38 2023
+++ src/usr.bin/xlint/lint2/emit2.c	Sat Aug 12 20:48:24 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: emit2.c,v 1.33 2023/07/13 08:40:38 rillig Exp $ */
+/* $NetBSD: emit2.c,v 1.34 2023/08/12 20:48:24 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -34,7 +34,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID)
-__RCSID("$NetBSD: emit2.c,v 1.33 2023/07/13 08:40:38 rillig Exp $");
+__RCSID("$NetBSD: emit2.c,v 1.34 2023/08/12 20:48:24 rillig Exp $");
 #endif
 
 #include "lint2.h"
@@ -116,9 +116,6 @@ static void
 outdef(hte_t *hte, sym_t *sym)
 {
 
-	/* reset output buffer */
-	outclr();
-
 	/* line number in C source file */
 	outint(0);
 
@@ -158,6 +155,7 @@ outdef(hte_t *hte, sym_t *sym)
 
 	/* type */
 	outtype(TP(sym->s_type));
+	outchar('\n');
 }
 
 /*
@@ -205,10 +203,10 @@ outlib(const char *name)
 	outsrc(name);
 
 	/* name of lint lib has index 0 */
-	outclr();
 	outint(0);
 	outchar('s');
 	outstrg(name);
+	outchar('\n');
 
 	/*
 	 * print the names of all files referenced by unnamed
@@ -266,11 +264,9 @@ outfiles(void)
 	int i;
 
 	for (ofl = outflist, i = 1; ofl != NULL; ofl = ofl->ofl_next, i++) {
-		/* reset output buffer */
-		outclr();
-
 		outint(i);
 		outchar('s');
 		outstrg(fnames[ofl->ofl_num]);
+		outchar('\n');
 	}
 }

Reply via email to