Module Name: src
Committed By: rillig
Date: Thu Dec 12 05:51:50 UTC 2024
Modified Files:
src/usr.bin/indent: args.c debug.c indent.c io.c
Log Message:
indent: add error handling for I/O errors
Suggested by lint2.
To generate a diff of this commit:
cvs rdiff -u -r1.87 -r1.88 src/usr.bin/indent/args.c
cvs rdiff -u -r1.70 -r1.71 src/usr.bin/indent/debug.c
cvs rdiff -u -r1.390 -r1.391 src/usr.bin/indent/indent.c
cvs rdiff -u -r1.235 -r1.236 src/usr.bin/indent/io.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.87 src/usr.bin/indent/args.c:1.88
--- src/usr.bin/indent/args.c:1.87 Sun Dec 10 17:45:35 2023
+++ src/usr.bin/indent/args.c Thu Dec 12 05:51:50 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: args.c,v 1.87 2023/12/10 17:45:35 rillig Exp $ */
+/* $NetBSD: args.c,v 1.88 2024/12/12 05:51:50 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: args.c,v 1.87 2023/12/10 17:45:35 rillig Exp $");
+__RCSID("$NetBSD: args.c,v 1.88 2024/12/12 05:51:50 rillig Exp $");
/* Read options from profile files and from the command line. */
@@ -130,7 +130,7 @@ add_typedefs_from_file(const char *fname
char line[BUFSIZ];
if ((file = fopen(fname, "r")) == NULL) {
- fprintf(stderr, "indent: cannot open file %s\n", fname);
+ (void)fprintf(stderr, "indent: cannot open file %s\n", fname);
exit(1);
}
while ((fgets(line, sizeof(line), file)) != NULL) {
@@ -292,7 +292,7 @@ load_profile(const char *fname, bool mus
if (n > 0) {
buf[n] = '\0';
if (opt.verbose)
- fprintf(stderr, "profile: %s\n", buf);
+ (void)fprintf(stderr, "profile: %s\n", buf);
if (buf[0] != '-')
errx(1,
"%s: option \"%s\" must start with '-'",
Index: src/usr.bin/indent/debug.c
diff -u src/usr.bin/indent/debug.c:1.70 src/usr.bin/indent/debug.c:1.71
--- src/usr.bin/indent/debug.c:1.70 Tue Jun 27 04:41:23 2023
+++ src/usr.bin/indent/debug.c Thu Dec 12 05:51:50 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: debug.c,v 1.70 2023/06/27 04:41:23 rillig Exp $ */
+/* $NetBSD: debug.c,v 1.71 2024/12/12 05:51:50 rillig Exp $ */
/*-
* Copyright (c) 2023 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: debug.c,v 1.70 2023/06/27 04:41:23 rillig Exp $");
+__RCSID("$NetBSD: debug.c,v 1.71 2024/12/12 05:51:50 rillig Exp $");
#include <stdarg.h>
#include <string.h>
@@ -162,11 +162,11 @@ debug_printf(const char *fmt, ...)
va_list ap;
if (state.heading != NULL) {
- fprintf(f, "%s\n", state.heading);
+ (void)fprintf(f, "%s\n", state.heading);
state.heading = NULL;
}
va_start(ap, fmt);
- vfprintf(f, fmt, ap);
+ (void)vfprintf(f, fmt, ap);
va_end(ap);
state.wrote_newlines = 0;
}
@@ -178,14 +178,14 @@ debug_println(const char *fmt, ...)
va_list ap;
if (state.heading != NULL) {
- fprintf(f, "%s\n", state.heading);
+ (void)fprintf(f, "%s\n", state.heading);
state.heading = NULL;
state.wrote_newlines = 1;
}
va_start(ap, fmt);
- vfprintf(f, fmt, ap);
+ (void)vfprintf(f, fmt, ap);
va_end(ap);
- fprintf(f, "\n");
+ (void)fprintf(f, "\n");
state.wrote_newlines = fmt[0] == '\0' ? state.wrote_newlines + 1 : 1;
}
Index: src/usr.bin/indent/indent.c
diff -u src/usr.bin/indent/indent.c:1.390 src/usr.bin/indent/indent.c:1.391
--- src/usr.bin/indent/indent.c:1.390 Sun Dec 3 21:44:42 2023
+++ src/usr.bin/indent/indent.c Thu Dec 12 05:51:50 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: indent.c,v 1.390 2023/12/03 21:44:42 rillig Exp $ */
+/* $NetBSD: indent.c,v 1.391 2024/12/12 05:51:50 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: indent.c,v 1.390 2023/12/03 21:44:42 rillig Exp $");
+__RCSID("$NetBSD: indent.c,v 1.391 2024/12/12 05:51:50 rillig Exp $");
#include <sys/param.h>
#include <err.h>
@@ -155,10 +155,10 @@ diag(int level, const char *msg, ...)
found_err = true;
va_start(ap, msg);
- fprintf(stderr, "%s: %s:%d: ",
+ (void)fprintf(stderr, "%s: %s:%d: ",
level == 0 ? "warning" : "error", in_name, in.token_start_line);
- vfprintf(stderr, msg, ap);
- fprintf(stderr, "\n");
+ (void)vfprintf(stderr, msg, ap);
+ (void)fprintf(stderr, "\n");
va_end(ap);
}
@@ -243,7 +243,7 @@ copy_to_bak_file(void)
/* now the original input file will be the output */
output = fopen(in_name, "w");
if (output == NULL) {
- remove(backup_name);
+ (void)remove(backup_name);
err(1, "%s", in_name);
}
}
@@ -1103,7 +1103,7 @@ indent(void)
{
debug_parser_state();
- for (;;) { /* loop until we reach eof */
+ for (;;) {
lexer_symbol lsym = lexi();
debug_blank_line();
Index: src/usr.bin/indent/io.c
diff -u src/usr.bin/indent/io.c:1.235 src/usr.bin/indent/io.c:1.236
--- src/usr.bin/indent/io.c:1.235 Sun Dec 3 21:44:42 2023
+++ src/usr.bin/indent/io.c Thu Dec 12 05:51:50 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: io.c,v 1.235 2023/12/03 21:44:42 rillig Exp $ */
+/* $NetBSD: io.c,v 1.236 2024/12/12 05:51:50 rillig Exp $ */
/*-
* SPDX-License-Identifier: BSD-4-Clause
@@ -38,8 +38,9 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: io.c,v 1.235 2023/12/03 21:44:42 rillig Exp $");
+__RCSID("$NetBSD: io.c,v 1.236 2024/12/12 05:51:50 rillig Exp $");
+#include <err.h>
#include <stdio.h>
#include "indent.h"
@@ -122,7 +123,8 @@ static void
write_buffered_newlines(void)
{
for (; buffered_newlines > 0; buffered_newlines--) {
- fputc('\n', output);
+ if (fputc('\n', output) == EOF)
+ err(1, "cannot write output");
debug_println("write_newline");
}
}
@@ -131,7 +133,8 @@ static void
write_range(const char *s, size_t len)
{
write_buffered_newlines();
- fwrite(s, 1, len, output);
+ if (fwrite(s, 1, len, output) != len)
+ err(1, "cannot write output");
debug_printf("write_range ");
debug_vis_range(s, len);
debug_println("");
@@ -152,13 +155,15 @@ write_indent(int new_ind)
if (n > 0) {
ind = ind - ind % opt.tabsize + n * opt.tabsize;
while (n-- > 0)
- fputc('\t', output);
+ if (fputc('\t', output) == EOF)
+ err(1, "cannot write output");
newlines = 0;
}
}
for (; ind < new_ind; ind++) {
- fputc(' ', output);
+ if (fputc(' ', output) == EOF)
+ err(1, "cannot write output");
newlines = 0;
}
@@ -447,5 +452,6 @@ finish_output(void)
indent_enabled = indent_last_off_line;
output_line();
}
- fflush(output);
+ if (fflush(output) != 0)
+ err(1, "output file");
}