Skip to contentSkip to conversation

trivial: use ARRAY_SIZE

PATCH Applied Kulikov Vasiliy 3 participants 8 messages Jun 28, 2010 – Jun 29, 2010

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 11/16 trivial: use ARRAY_SIZE

Change sizeof(x) / sizeof(*x) to ARRAY_SIZE(x).

---
 drivers/staging/otus/hal/hpreg.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)
drivers/staging/otus/hal/hpreg.c +7 -10
index da3b774..9b04653 100644
@@ -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;
@@ -1581,7 +1578,7 @@ u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd)
 	 * unitary reg domain of the pair
 	 */
 
-	for (i = 0 ; i < N(regDomains) ; i++) {
+	for (i = 0 ; i < ARRAY_SIZE(regDomains) ; i++) {
 		if (regDomains[i].regDmnEnum = regDmn) {
 			if (rd != NULL) {
 					zfMemoryCopy((u8_t *)rd, (u8_t *)&regDomains[i],
@@ -1653,7 +1650,7 @@ void zfHpGetRegulationTable(zdev_t *dev, u16_t regionCode, u16_t c_lo, u16_t c_h
 
 	zmw_enter_critical_section(dev);
 
-	for (cm = modes; cm < &modes[N(modes)]; cm++) {
+	for (cm = modes; cm < &modes[ARRAY_SIZE(modes)]; cm++) {
 		u16_t c;
 		u64_t *channelBM = NULL;
 		REG_DOMAIN *rd = NULL;
@@ -1846,7 +1843,7 @@ void zfHpGetRegulationTablefromCountry(zdev_t *dev, u16_t CountryCode)
 
 	zmw_declare_for_critical_section();
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (CountryCode = allCountries[i].countryCode) {
 			RegDomain = allCountries[i].regDmnEnum;
 
@@ -1881,7 +1878,7 @@ u8_t zfHpGetRegulationTablefromISO(zdev_t *dev, u8_t *countryInfo, u8_t length)
 		strLen = 3; */
 	}
 	/* zm_debug_msg_s("Desired iso name = ", isoName); */
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		/* zm_debug_msg_s("Current iso name = ", allCountries[i].isoName); */
 		if (zfMemoryIsEqual((u8_t *)allCountries[i].isoName, (u8_t *)&countryInfo[2], length-1)) {
 			/* DbgPrint("Set current iso name = %s\n", allCountries[i].isoName); */
@@ -1937,7 +1934,7 @@ const char *zfHpGetisoNamefromregionCode(zdev_t *dev, u16_t regionCode)
 {
 	u16_t i;
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (allCountries[i].regDmnEnum = regionCode)
 			return allCountries[i].isoName;
 	}
@@ -1953,7 +1950,7 @@ u16_t zfHpGetRegionCodeFromIsoName(zdev_t *dev, u8_t *countryIsoName)
 	/* if no matching item, return default */
 	regionCode = DEF_REGDMN;
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (zfMemoryIsEqual((u8_t *)allCountries[i].isoName, countryIsoName, 2)) {
 			regionCode = allCountries[i].regDmnEnum;
 		break;
Signature · 1 line
1.7.0.4
#1 lore raw
Quoted 22 lines · Kulikov Vasiliy

Change sizeof(x) / sizeof(*x) to ARRAY_SIZE(x).

---
 drivers/staging/otus/hal/hpreg.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)
drivers/staging/otus/hal/hpreg.c +0 -3
index da3b774..9b04653 100644
@@ -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
 

drivers/staging/otus/hal/hpreg.c u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd) · line 1560

Quoted 8 lines
drivers/staging/otus/hal/hpreg.c +1 -1
@@ -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

Quoted 54 lines
drivers/staging/otus/hal/hpreg.c +6 -6
@@ -1581,7 +1578,7 @@ u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd)
 	 * unitary reg domain of the pair
 	 */
 
-	for (i = 0 ; i < N(regDomains) ; i++) {
+	for (i = 0 ; i < ARRAY_SIZE(regDomains) ; i++) {
 		if (regDomains[i].regDmnEnum = regDmn) {
 			if (rd != NULL) {
 					zfMemoryCopy((u8_t *)rd, (u8_t *)&regDomains[i],
@@ -1653,7 +1650,7 @@ void zfHpGetRegulationTable(zdev_t *dev, u16_t regionCode, u16_t c_lo, u16_t c_h
 
 	zmw_enter_critical_section(dev);
 
-	for (cm = modes; cm < &modes[N(modes)]; cm++) {
+	for (cm = modes; cm < &modes[ARRAY_SIZE(modes)]; cm++) {
 		u16_t c;
 		u64_t *channelBM = NULL;
 		REG_DOMAIN *rd = NULL;
@@ -1846,7 +1843,7 @@ void zfHpGetRegulationTablefromCountry(zdev_t *dev, u16_t CountryCode)
 
 	zmw_declare_for_critical_section();
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (CountryCode = allCountries[i].countryCode) {
 			RegDomain = allCountries[i].regDmnEnum;
 
@@ -1881,7 +1878,7 @@ u8_t zfHpGetRegulationTablefromISO(zdev_t *dev, u8_t *countryInfo, u8_t length)
 		strLen = 3; */
 	}
 	/* zm_debug_msg_s("Desired iso name = ", isoName); */
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		/* zm_debug_msg_s("Current iso name = ", allCountries[i].isoName); */
 		if (zfMemoryIsEqual((u8_t *)allCountries[i].isoName, (u8_t *)&countryInfo[2], length-1)) {
 			/* DbgPrint("Set current iso name = %s\n", allCountries[i].isoName); */
@@ -1937,7 +1934,7 @@ const char *zfHpGetisoNamefromregionCode(zdev_t *dev, u16_t regionCode)
 {
 	u16_t i;
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (allCountries[i].regDmnEnum = regionCode)
 			return allCountries[i].isoName;
 	}
@@ -1953,7 +1950,7 @@ u16_t zfHpGetRegionCodeFromIsoName(zdev_t *dev, u8_t *countryIsoName)
 	/* if no matching item, return default */
 	regionCode = DEF_REGDMN;
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (zfMemoryIsEqual((u8_t *)allCountries[i].isoName, countryIsoName, 2)) {
 			regionCode = allCountries[i].regDmnEnum;
 		break;
#2 lore raw
Quoted 38 lines · walter harms
Quoted 22 lines · Kulikov Vasiliy

Change sizeof(x) / sizeof(*x) to ARRAY_SIZE(x).

---
 drivers/staging/otus/hal/hpreg.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)
drivers/staging/otus/hal/hpreg.c +0 -3
index da3b774..9b04653 100644
@@ -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
 

drivers/staging/otus/hal/hpreg.c u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd) · line 1560

Quoted 8 lines
drivers/staging/otus/hal/hpreg.c +1 -1
@@ -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" ??

Quoted 3 lines

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;
}
#3 lore raw
Quoted 60 lines · walter harms
Quoted 38 lines · walter harms
Quoted 22 lines · Kulikov Vasiliy

Change sizeof(x) / sizeof(*x) to ARRAY_SIZE(x).

---
 drivers/staging/otus/hal/hpreg.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)
drivers/staging/otus/hal/hpreg.c +0 -3
index da3b774..9b04653 100644
@@ -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
 

drivers/staging/otus/hal/hpreg.c u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd) · line 1560

Quoted 8 lines
drivers/staging/otus/hal/hpreg.c +1 -1
@@ -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" ??

Quoted 3 lines

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         {
Quoted 8 lines

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.

Either of those suggestions sounds fine to me, but it sounds like it should be in a separate patch.

Quoted 20 lines

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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Acked-by on v1 11/16
#4 lore raw
In reply to Kulikov Vasiliy
Quoted 3 lines · Kulikov Vasiliy

Change sizeof(x) / sizeof(*x) to ARRAY_SIZE(x).

Looks good.

Quoted 89 lines
---
 drivers/staging/otus/hal/hpreg.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)
drivers/staging/otus/hal/hpreg.c +7 -10
index da3b774..9b04653 100644
@@ -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;
@@ -1581,7 +1578,7 @@ u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd)
 	 * unitary reg domain of the pair
 	 */
 
-	for (i = 0 ; i < N(regDomains) ; i++) {
+	for (i = 0 ; i < ARRAY_SIZE(regDomains) ; i++) {
 		if (regDomains[i].regDmnEnum = regDmn) {
 			if (rd != NULL) {
 					zfMemoryCopy((u8_t *)rd, (u8_t *)&regDomains[i],
@@ -1653,7 +1650,7 @@ void zfHpGetRegulationTable(zdev_t *dev, u16_t regionCode, u16_t c_lo, u16_t c_h
 
 	zmw_enter_critical_section(dev);
 
-	for (cm = modes; cm < &modes[N(modes)]; cm++) {
+	for (cm = modes; cm < &modes[ARRAY_SIZE(modes)]; cm++) {
 		u16_t c;
 		u64_t *channelBM = NULL;
 		REG_DOMAIN *rd = NULL;
@@ -1846,7 +1843,7 @@ void zfHpGetRegulationTablefromCountry(zdev_t *dev, u16_t CountryCode)
 
 	zmw_declare_for_critical_section();
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (CountryCode = allCountries[i].countryCode) {
 			RegDomain = allCountries[i].regDmnEnum;
 
@@ -1881,7 +1878,7 @@ u8_t zfHpGetRegulationTablefromISO(zdev_t *dev, u8_t *countryInfo, u8_t length)
 		strLen = 3; */
 	}
 	/* zm_debug_msg_s("Desired iso name = ", isoName); */
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		/* zm_debug_msg_s("Current iso name = ", allCountries[i].isoName); */
 		if (zfMemoryIsEqual((u8_t *)allCountries[i].isoName, (u8_t *)&countryInfo[2], length-1)) {
 			/* DbgPrint("Set current iso name = %s\n", allCountries[i].isoName); */
@@ -1937,7 +1934,7 @@ const char *zfHpGetisoNamefromregionCode(zdev_t *dev, u16_t regionCode)
 {
 	u16_t i;
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (allCountries[i].regDmnEnum = regionCode)
 			return allCountries[i].isoName;
 	}
@@ -1953,7 +1950,7 @@ u16_t zfHpGetRegionCodeFromIsoName(zdev_t *dev, u8_t *countryIsoName)
 	/* if no matching item, return default */
 	regionCode = DEF_REGDMN;
 
-	for (i = 0; i < N(allCountries); i++) {
+	for (i = 0; i < ARRAY_SIZE(allCountries); i++) {
 		if (zfMemoryIsEqual((u8_t *)allCountries[i].isoName, countryIsoName, 2)) {
 			regionCode = allCountries[i].regDmnEnum;
 		break;
Signature · 7 lines
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
#5 lore raw
In reply to Kulikov Vasiliy
Quoted 63 lines · Simon Horman
Quoted 62 lines · walter harms
Quoted 36 lines · walter harms
Quoted 22 lines · Kulikov Vasiliy

Change sizeof(x) / sizeof(*x) to ARRAY_SIZE(x).

---
 drivers/staging/otus/hal/hpreg.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)
drivers/staging/otus/hal/hpreg.c +0 -3
index da3b774..9b04653 100644
@@ -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
 

drivers/staging/otus/hal/hpreg.c u8_t GetWmRD(u16_t regionCode, u16_t channelFlag, REG_DOMAIN *rd) · line 1560

Quoted 8 lines
drivers/staging/otus/hal/hpreg.c +1 -1
@@ -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" ??

Quoted 3 lines

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 }

Quoted 20 lines
Quoted 3 lines

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.

Either of those suggestions sounds fine to me, but it sounds like it should be in a separate patch.

Quoted 13 lines

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;
}

Hi Kulikov Vasiliy,
can you make that patch also, i have simply no time (and no actual kernel) feel free to choose a methode you like.

re,
wh

#6 lore raw
In reply to Kulikov Vasiliy
Quoted 42 lines · walter harms
Quoted 21 lines
Quoted 21 lines

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 }

Quoted 20 lines
Quoted 3 lines

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.

Either of those suggestions sounds fine to me, but it sounds like it should be in a separate patch.

Quoted 13 lines

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;
}
Quoted 3 lines

Hi Kulikov Vasiliy,
can you make that patch also, i have simply no time (and no actual kernel) feel free to choose a methode you like.

Hi,

We cannot trivially create array element with .regDmnEnum = 0 because one element already has got this value:

static REG_DMN_PAIR_MAPPING regDomainPairs[] = {
{NO_ENUMRD, FCC2, DEBUG_REG_DMN, NO_REQ, NO_REQ, PSCAN_DEFER, 0 },

enum EnumRd {
        NO_ENUMRD = 0x00, 

And I don't think that creating another constant with meaning 'element after the last' from the set 'any u16 except already used' is a good idea. If this value is added to the array in future we must change this magic constant too. And current implementation just works :)

#7 lore raw
In reply to Kulikov Vasiliy
Quoted 53 lines · Kulikov Vasiliy
Quoted 40 lines · walter harms
Quoted 21 lines
Quoted 21 lines

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 }

Quoted 19 lines
Quoted 3 lines

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.

Either of those suggestions sounds fine to me, but it sounds like it should be in a separate patch.

Quoted 13 lines

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;
}
Quoted 3 lines

Hi Kulikov Vasiliy,
can you make that patch also, i have simply no time (and no actual kernel) feel free to choose a methode you like.

Hi,

We cannot trivially create array element with .regDmnEnum = 0 because one element already has got this value:

static REG_DMN_PAIR_MAPPING regDomainPairs[] = {
{NO_ENUMRD, FCC2, DEBUG_REG_DMN, NO_REQ, NO_REQ, PSCAN_DEFER, 0 },

Quoted 8 lines
enum EnumRd {
        NO_ENUMRD = 0x00, 

And I don't think that creating another constant with meaning 'element after the last' from the set 'any u16 except already used' is a good idea. If this value is added to the array in future we must change this magic constant too. And current implementation just works :)

feel free to choose what methode you like,

btw: the check is for regDomainPairs not for regDomainPairs->regDmnEnum. Checking for regDmnEnum=0 is not clever, but you can check for regDomainPairs=NULL.

re,
wh