From 023cbb302963a93d0247e95a02591cb304bf152c Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Thu, 26 Feb 2004 21:06:58 -0500 Subject: [PATCH] badblocks.c (pattern_fill): Fix bug accidentally added when fixing up gcc -Wall nits. badblocks -t random was not getting handled properly because ~0 needed to be cast to an unsigned long instead of an unsigned char. (Addresses Debian bug #234828) --- misc/ChangeLog | 8 ++++++++ misc/badblocks.c | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/misc/ChangeLog b/misc/ChangeLog index de05ed0..bf5d709 100644 --- a/misc/ChangeLog +++ b/misc/ChangeLog @@ -1,3 +1,11 @@ +2004-02-26 Theodore Ts'o + + * badblocks.c (pattern_fill): Fix bug accidentally added when + fixing up gcc -Wall nits. badblocks -t random was not + getting handled properly because ~0 needed to be cast to + an unsigned long instead of an unsigned char. (Addresses + Debian bug #234828) + 2004-02-21 Theodore Ts'o * fsck.c (execute): Use '&&' instead of '&'. (It didn't cause a diff --git a/misc/badblocks.c b/misc/badblocks.c index 2c5e17e..3a23060 100644 --- a/misc/badblocks.c +++ b/misc/badblocks.c @@ -219,7 +219,7 @@ static void pattern_fill(unsigned char *buffer, unsigned long pattern, unsigned int i, nb; unsigned char bpattern[sizeof(pattern)], *ptr; - if (pattern == (unsigned char) ~0) { + if (pattern == (unsigned long) ~0) { for (ptr = buffer; ptr < buffer + n; ptr++) { (*ptr) = random() % (1 << (8 * sizeof(char))); } -- 1.8.3.1