2020-06-09 14:09:03

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1] lib/bitmap: Convert infinite while loop to for one

Convert infinite while loop to for one in order to be more explicit
in one place what we are doing with chunks.

Signed-off-by: Andy Shevchenko <[email protected]>
---

Andrew, this can be folded to the fix

lib/bitmap.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/lib/bitmap.c b/lib/bitmap.c
index 10f8fa0497e3..03ef42fbe658 100644
--- a/lib/bitmap.c
+++ b/lib/bitmap.c
@@ -740,10 +740,10 @@ int bitmap_parse(const char *start, unsigned int buflen,
const char *end = strnchrnul(start, buflen, '\n') - 1;
int chunks = BITS_TO_U32(nmaskbits);
u32 *bitmap = (u32 *)maskp;
- int chunk = 0;
int unset_bit;
+ int chunk;

- while (1) {
+ for (chunk = 0; ; chunk++) {
end = bitmap_find_region_reverse(start, end);
if (start > end)
break;
@@ -758,7 +758,6 @@ int bitmap_parse(const char *start, unsigned int buflen,
#endif
if (IS_ERR(end))
return PTR_ERR(end);
- chunk++;
}

unset_bit = (BITS_TO_U32(nmaskbits) - chunks) * 32;
--
2.27.0.rc2


2020-06-09 14:26:34

by Alexander Gordeev

[permalink] [raw]
Subject: Re: [PATCH v1] lib/bitmap: Convert infinite while loop to for one

On Tue, Jun 09, 2020 at 05:05:35PM +0300, Andy Shevchenko wrote:
> Convert infinite while loop to for one in order to be more explicit
> in one place what we are doing with chunks.

Reviewed-by: Alexander Gordeev <[email protected]>

>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
>
> Andrew, this can be folded to the fix
>
> lib/bitmap.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/lib/bitmap.c b/lib/bitmap.c
> index 10f8fa0497e3..03ef42fbe658 100644
> --- a/lib/bitmap.c
> +++ b/lib/bitmap.c
> @@ -740,10 +740,10 @@ int bitmap_parse(const char *start, unsigned int buflen,
> const char *end = strnchrnul(start, buflen, '\n') - 1;
> int chunks = BITS_TO_U32(nmaskbits);
> u32 *bitmap = (u32 *)maskp;
> - int chunk = 0;
> int unset_bit;
> + int chunk;
>
> - while (1) {
> + for (chunk = 0; ; chunk++) {
> end = bitmap_find_region_reverse(start, end);
> if (start > end)
> break;
> @@ -758,7 +758,6 @@ int bitmap_parse(const char *start, unsigned int buflen,
> #endif
> if (IS_ERR(end))
> return PTR_ERR(end);
> - chunk++;
> }
>
> unset_bit = (BITS_TO_U32(nmaskbits) - chunks) * 32;
> --
> 2.27.0.rc2
>