git: 568be71de3b4 - main - stress2: Use the proper type for the getopt(3) return value
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 27 May 2024 15:27:17 UTC
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=568be71de3b44c8c4679e4c202a782a7302426ed commit 568be71de3b44c8c4679e4c202a782a7302426ed Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2024-05-25 16:52:32 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2024-05-27 15:26:47 +0000 stress2: Use the proper type for the getopt(3) return value On arm platforms "char" is typically unsigned, in which case the test "(c = getopt(...)) != -1" does not behave as desired. Reviewed by: pho MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D45365 --- tools/test/stress2/tools/flip.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/tools/test/stress2/tools/flip.c b/tools/test/stress2/tools/flip.c index cdc2742de59f..f2a4d86e115b 100644 --- a/tools/test/stress2/tools/flip.c +++ b/tools/test/stress2/tools/flip.c @@ -85,8 +85,7 @@ main(int argc, char *argv[]) struct stat st; off_t pos; size_t size; - int fd, i, times; - char c; + int c, fd, i, times; times = 1; size = 0; @@ -126,18 +125,20 @@ main(int argc, char *argv[]) } for (i = 0; i < times; i++) { + char ch; + pos = arc4random() % size; if (lseek(fd, pos, SEEK_SET) == -1) err(1, "lseek()"); - if (read(fd, &c, 1) != 1) + if (read(fd, &ch, 1) != 1) err(1, "read()"); if (arc4random() % 100 < 98) - flip(&c, 1); + flip(&ch, 1); else - trash(&c); + trash(&ch); if (lseek(fd, pos, SEEK_SET) == -1) err(1, "lseek()"); - if (write(fd, &c, 1) != 1) + if (write(fd, &ch, 1) != 1) err(1, "write()"); }