[klibc] [PATCH v2 5/5] Clean up clang warnings

Bill Wendling morbo at google.com
Fri Mar 27 15:29:46 PDT 2020


- Convert the "old style" GNU field designator extension to the new
  style.
- Use proper indexing into a string literal.
- Use "%s" for the format string in "fmtstr".
- Add or remove casts of the "void *" argument of ioctl.
- Convert "if (!exitstatus == isor)" to "if ((!exitstatus) == isor)"
  which retains the current semantics, but may not be what the
  programmer intended.

Signed-off-by: Bill Wendling <morbo at google.com>
---
 usr/dash/eval.c          |  8 ++++----
 usr/dash/jobs.c          |  4 ++--
 usr/dash/output.c        | 12 ++++++------
 usr/kinit/initrd.c       |  2 +-
 usr/kinit/ramdisk_load.c |  2 +-
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/usr/dash/eval.c b/usr/dash/eval.c
index ae83508ba160..2fa1a59995da 100644
--- a/usr/dash/eval.c
+++ b/usr/dash/eval.c
@@ -103,8 +103,8 @@ STATIC int bltincmd(int, char **);
 
 
 STATIC const struct builtincmd bltin = {
-	name: nullstr,
-	builtin: bltincmd
+	.name = nullstr,
+	.builtin = bltincmd
 };
 
 
@@ -274,7 +274,7 @@ checkexit:
 			n->nbinary.ch1,
 			(flags | ((isor >> 1) - 1)) & EV_TESTED
 		);
-		if (!exitstatus == isor)
+		if ((!exitstatus) == isor)
 			break;
 		if (!evalskip) {
 			n = n->nbinary.ch2;
@@ -1081,7 +1081,7 @@ eprintlist(struct output *out, struct strlist *sp, int sep)
 	while (sp) {
 		const char *p;
 
-		p = " %s" + (1 - sep);
+		p = &" %s"[1 - sep];
 		sep |= 1;
 		outfmt(out, p, sp->text);
 		sp = sp->next;
diff --git a/usr/dash/jobs.c b/usr/dash/jobs.c
index 009bbfeee47e..776983b708d6 100644
--- a/usr/dash/jobs.c
+++ b/usr/dash/jobs.c
@@ -426,7 +426,7 @@ sprint_status(char *s, int status, int sigonly)
 				goto out;
 #endif
 		}
-		col = fmtstr(s, 32, strsignal(st));
+		col = fmtstr(s, 32, "%s", strsignal(st));
 #ifdef WCOREDUMP
 		if (WCOREDUMP(status)) {
 			col += fmtstr(s + col, 16, " (core dumped)");
@@ -1394,7 +1394,7 @@ cmdputs(const char *s)
 				str = "${";
 			goto dostr;
 		case CTLENDVAR:
-			str = "\"}" + !(quoted & 1);
+			str = &"\"}"[!(quoted & 1)];
 			quoted >>= 1;
 			subtype = 0;
 			goto dostr;
diff --git a/usr/dash/output.c b/usr/dash/output.c
index f62e7eab0b4e..bb7c6ada155d 100644
--- a/usr/dash/output.c
+++ b/usr/dash/output.c
@@ -71,27 +71,27 @@
 
 #ifdef USE_GLIBC_STDIO
 struct output output = {
-	stream: 0, nextc: 0, end: 0, buf: 0, bufsize: 0, fd: 1, flags: 0
+	.stream = 0, .nextc = 0, .end = 0, .buf = 0, .bufsize = 0, .fd = 1, .flags = 0
 };
 struct output errout = {
-	stream: 0, nextc: 0, end: 0, buf: 0, bufsize: 0, fd: 2, flags: 0
+	.stream = 0, .nextc = 0, .end = 0, .buf = 0, .bufsize = 0, .fd = 2, .flags = 0
 }
 #ifdef notyet
 struct output memout = {
-	stream: 0, nextc: 0, end: 0, buf: 0, bufsize: 0, fd: MEM_OUT, flags: 0
+	.stream = 0, .nextc = 0, .end = 0, .buf = 0, .bufsize = 0, .fd = MEM_OUT, .flags = 0
 };
 #endif
 #else
 struct output output = {
-	nextc: 0, end: 0, buf: 0, bufsize: OUTBUFSIZ, fd: 1, flags: 0
+	.nextc = 0, .end = 0, .buf = 0, .bufsize = OUTBUFSIZ, .fd = 1, .flags = 0
 };
 struct output errout = {
-	nextc: 0, end: 0, buf: 0, bufsize: 0, fd: 2, flags: 0
+	.nextc = 0, .end = 0, .buf = 0, .bufsize = 0, .fd = 2, .flags = 0
 };
 struct output preverrout;
 #ifdef notyet
 struct output memout = {
-	nextc: 0, end: 0, buf: 0, bufsize: 0, fd: MEM_OUT, flags: 0
+	.nextc = 0, .end = 0, .buf = 0, .bufsize = 0, .fd = MEM_OUT, .flags = 0
 };
 #endif
 #endif
diff --git a/usr/kinit/initrd.c b/usr/kinit/initrd.c
index 7eece2ce5488..5833f2f2c01f 100644
--- a/usr/kinit/initrd.c
+++ b/usr/kinit/initrd.c
@@ -153,7 +153,7 @@ static int run_linuxrc(int argc, char *argv[], dev_t root_dev)
 			int olddev = open(ramdisk_name, O_RDWR);
 			umount2("/old", MNT_DETACH);
 			if (olddev < 0 ||
-			    ioctl(olddev, BLKFLSBUF, (long)0) ||
+			    ioctl(olddev, BLKFLSBUF, 0) ||
 			    close(olddev)) {
 				fprintf(stderr,
 					"%s: Cannot flush initrd contents\n",
diff --git a/usr/kinit/ramdisk_load.c b/usr/kinit/ramdisk_load.c
index f43339c8fc74..e3e15d81f81b 100644
--- a/usr/kinit/ramdisk_load.c
+++ b/usr/kinit/ramdisk_load.c
@@ -34,7 +34,7 @@ static int change_disk(const char *devpath, int rfd, int disk)
 			ioctl(rfd, CDROMEJECT, 0);
 		} else {
 			/* Non-ejectable floppy */
-			ioctl(rfd, FDRESET, FD_RESET_IF_NEEDED);
+			ioctl(rfd, FDRESET, (void *)FD_RESET_IF_NEEDED);
 		}
 	}
 	close(rfd);
-- 
2.26.0.rc2.310.g2932bb562d-goog



More information about the klibc mailing list