Module Name: src
Committed By: rillig
Date: Thu Aug 19 15:55:23 UTC 2021
Modified Files:
src/usr.bin/xlint/xlint: xlint.c
Log Message:
lint: uniformly pass command line flags to subprocesses
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.72 -r1.73 src/usr.bin/xlint/xlint/xlint.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/xlint/xlint.c
diff -u src/usr.bin/xlint/xlint/xlint.c:1.72 src/usr.bin/xlint/xlint/xlint.c:1.73
--- src/usr.bin/xlint/xlint/xlint.c:1.72 Mon Aug 9 21:27:20 2021
+++ src/usr.bin/xlint/xlint/xlint.c Thu Aug 19 15:55:23 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: xlint.c,v 1.72 2021/08/09 21:27:20 rillig Exp $ */
+/* $NetBSD: xlint.c,v 1.73 2021/08/19 15:55:23 rillig Exp $ */
/*
* Copyright (c) 1996 Christopher G. Demetriou. All Rights Reserved.
@@ -38,7 +38,7 @@
#include <sys/cdefs.h>
#if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: xlint.c,v 1.72 2021/08/09 21:27:20 rillig Exp $");
+__RCSID("$NetBSD: xlint.c,v 1.73 2021/08/19 15:55:23 rillig Exp $");
#endif
#include <sys/param.h>
@@ -203,6 +203,17 @@ pass_to_lint1(const char *opt)
}
static void
+pass_flag_to_lint1(int flag)
+{
+ char buf[3];
+
+ buf[0] = '-';
+ buf[1] = (char)flag;
+ buf[2] = '\0';
+ pass_to_lint1(buf);
+}
+
+static void
pass_to_lint2(const char *opt)
{
@@ -210,6 +221,17 @@ pass_to_lint2(const char *opt)
}
static void
+pass_flag_to_lint2(int flag)
+{
+ char buf[3];
+
+ buf[0] = '-';
+ buf[1] = (char)flag;
+ buf[2] = '\0';
+ pass_to_lint2(buf);
+}
+
+static void
pass_to_cpp(const char *opt)
{
@@ -308,7 +330,7 @@ int
main(int argc, char *argv[])
{
int c;
- char flgbuf[3], *tmp;
+ char *tmp;
size_t len;
const char *ks;
@@ -372,12 +394,11 @@ main(int argc, char *argv[])
case 'v':
case 'w':
case 'z':
- (void)sprintf(flgbuf, "-%c", c);
- pass_to_lint1(flgbuf);
+ pass_flag_to_lint1(c);
break;
case 'A':
- pass_to_lint1("-A");
+ pass_flag_to_lint1(c);
pass_to_lint1(optarg);
break;
@@ -386,14 +407,12 @@ main(int argc, char *argv[])
/* FALLTHROUGH */
case 'u':
case 'h':
- (void)sprintf(flgbuf, "-%c", c);
- pass_to_lint1(flgbuf);
- pass_to_lint2(flgbuf);
+ pass_flag_to_lint1(c);
+ pass_flag_to_lint2(c);
break;
case 'X':
- (void)sprintf(flgbuf, "-%c", c);
- pass_to_lint1(flgbuf);
+ pass_flag_to_lint1(c);
pass_to_lint1(optarg);
break;
@@ -408,8 +427,8 @@ main(int argc, char *argv[])
break;
case 'p':
- pass_to_lint1("-p");
- pass_to_lint2("-p");
+ pass_flag_to_lint1(c);
+ pass_flag_to_lint2(c);
if (*deflibs != NULL) {
list_clear(&deflibs);
list_add_copy(&deflibs, "c");
@@ -417,11 +436,12 @@ main(int argc, char *argv[])
break;
case 'P':
- pass_to_lint1("-P");
+ pass_flag_to_lint1(c);
break;
case 'R':
- pass_to_lint1(concat2("-R", optarg));
+ pass_flag_to_lint1(c);
+ pass_to_lint1(optarg);
break;
case 's':
@@ -432,23 +452,22 @@ main(int argc, char *argv[])
list_add_copy(&cpp.lcflags, "-Wtrigraphs");
list_add_copy(&cpp.lcflags, "-pedantic");
list_add_copy(&cpp.lcflags, "-D__STRICT_ANSI__");
- pass_to_lint1("-s");
- pass_to_lint2("-s");
+ pass_flag_to_lint1(c);
+ pass_flag_to_lint2(c);
sflag = true;
break;
case 'S':
if (tflag)
usage();
- pass_to_lint1("-S");
+ pass_flag_to_lint1(c);
Sflag = true;
break;
case 'T':
- (void)sprintf(flgbuf, "-%c", c);
pass_to_cpp("-I" PATH_STRICT_BOOL_INCLUDE);
- pass_to_lint1(flgbuf);
- pass_to_lint2(flgbuf);
+ pass_flag_to_lint1(c);
+ pass_flag_to_lint2(c);
break;
#if !HAVE_NBTOOL_CONFIG_H
@@ -460,21 +479,22 @@ main(int argc, char *argv[])
list_add_copy(&cpp.lcflags, "-Wtraditional");
list_add_copy(&cpp.lcflags, "-D" MACHINE);
list_add_copy(&cpp.lcflags, "-D" MACHINE_ARCH);
- pass_to_lint1("-t");
- pass_to_lint2("-t");
+ pass_flag_to_lint1(c);
+ pass_flag_to_lint2(c);
tflag = true;
break;
#endif
case 'x':
- pass_to_lint2("-x");
+ pass_flag_to_lint2(c);
break;
case 'C':
if (Cflag || oflag || iflag)
usage();
Cflag = true;
- list_add(&lint2.flags, concat2("-C", optarg));
+ pass_flag_to_lint2(c);
+ pass_to_lint2(optarg);
lint2.outlib = xasprintf("llib-l%s.ln", optarg);
list_clear(&deflibs);
break;
@@ -511,7 +531,7 @@ main(int argc, char *argv[])
break;
case 'H':
- pass_to_lint2("-H");
+ pass_flag_to_lint2(c);
break;
case 'B':