Re: [PATCH 11/16] trivial: use ARRAY_SIZE

From: walter harms
Date: Mon Jun 28 2010 - 09:23:01 EST




walter harms schrieb:
>
> Kulikov Vasiliy schrieb:
>> Change sizeof(x) / sizeof(*x) to ARRAY_SIZE(x).
>>
>> Signed-off-by: Kulikov Vasiliy <segooon@xxxxxxxxx>
>> ---
>> drivers/staging/otus/hal/hpreg.c | 17 +++++++----------
>> 1 files changed, 7 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/staging/otus/hal/hpreg.c b/drivers/staging/otus/hal/hpreg.c
>> index da3b774..9b04653 100644
>> --- a/drivers/staging/otus/hal/hpreg.c
>> +++ b/drivers/staging/otus/hal/hpreg.c
>> @@ -29,9 +29,6 @@
>> #include "hpreg.h"
>> #include "hpusb.h"
>>
>> -/* used throughout this file... */
>> -#define N(a) (sizeof(a) / sizeof(a[0]))
>> -
>> #define HAL_MODE_11A_TURBO HAL_MODE_108A
>> #define HAL_MODE_11G_TURBO HAL_MODE_108G
>>
>> @@ -1557,7 +1554,7 @@ u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd)
>> u64_t flags = NO_REQ;
>> REG_DMN_PAIR_MAPPING *regPair = NULL;
>>
>> - for (i = 0, found = 0; (i < N(regDomainPairs)) && (!found); i++) {
>> + for (i = 0, found = 0; (i < ARRAY_SIZE(regDomainPairs)) && (!found); i++) {
>> if (regDomainPairs[i].regDmnEnum == regionCode) {
>> regPair = &regDomainPairs[i];
>> found = 1;
>
>
>
> This looks odd, i do not see the rest of the code but perhaps a break would help
> to eleminate the "found" ??
>
> just my two cents,
> wh
>
1554 u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd)
1555 {
1556 s16_t i, found, regDmn;
1557 u64_t flags=NO_REQ;
1558 REG_DMN_PAIR_MAPPING *regPair=NULL;
1559
1560 for (i=0, found=0; (i<N(regDomainPairs))&&(!found); i++)
1561 {
1562 if (regDomainPairs[i].regDmnEnum == regionCode)
1563 {
1564 regPair = &regDomainPairs[i];
1565 found = 1;
1566 }
1567 }
1568 if (!found)
1569 {
1570 zm_debug_msg1("Failed to find reg domain pair ", regionCode);
1571 return FALSE;
1572 }


This is would stop at the first hit and work without found.
Otherwise someone could add an {NULL} at the end of the array
und use a while () that would eliminate the need for ARRAY_SIZE also.

re,
wh

for (i=0; i<ARRAY_SIZE(regDomainPairs);i++ )
if (regDomainPairs[i].regDmnEnum == regionCode)
{ regPair = &regDomainPairs[i]; break ; }

if (!regPair) {
zm_debug_msg1("Failed to find reg domain pair ", regionCode);
return FALSE;
}



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/