diff mbox series

[nft] proto: revisit short-circuit loops over upper protocols

Message ID 20211215233607.170171-1-pablo@netfilter.org
State Accepted
Delegated to: Pablo Neira
Headers show
Series [nft] proto: revisit short-circuit loops over upper protocols | expand

Commit Message

Pablo Neira Ayuso Dec. 15, 2021, 11:36 p.m. UTC
Move the check for NULL protocol description away from the loop to avoid
too long line.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 src/proto.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

Comments

Jeremy Sowden Dec. 16, 2021, 5:54 p.m. UTC | #1
On 2021-12-16, at 00:36:06 +0100, Pablo Neira Ayuso wrote:
> Move the check for NULL protocol description away from the loop to
> avoid too long line.

LGTM.

J.

> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
>
> ---
>  src/proto.c | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/src/proto.c b/src/proto.c
> index 31a2f38065ad..a013a00d2c7b 100644
> --- a/src/proto.c
> +++ b/src/proto.c
> @@ -59,8 +59,9 @@ proto_find_upper(const struct proto_desc *base, unsigned int num)
>  {
>  	unsigned int i;
>
> -	for (i = 0; i < array_size(base->protocols) && base->protocols[i].desc;
> -	     i++) {
> +	for (i = 0; i < array_size(base->protocols); i++) {
> +		if (!base->protocols[i].desc)
> +			break;
>  		if (base->protocols[i].num == num)
>  			return base->protocols[i].desc;
>  	}
> @@ -78,8 +79,9 @@ int proto_find_num(const struct proto_desc *base,
>  {
>  	unsigned int i;
>
> -	for (i = 0; i < array_size(base->protocols) && base->protocols[i].desc;
> -	     i++) {
> +	for (i = 0; i < array_size(base->protocols); i++) {
> +		if (!base->protocols[i].desc)
> +			break;
>  		if (base->protocols[i].desc == desc)
>  			return base->protocols[i].num;
>  	}
> @@ -107,9 +109,9 @@ int proto_dev_type(const struct proto_desc *desc, uint16_t *res)
>  			*res = dev_proto_desc[i].type;
>  			return 0;
>  		}
> -		for (j = 0; j < array_size(base->protocols) &&
> -			     base->protocols[j].desc;
> -		     j++) {
> +		for (j = 0; j < array_size(base->protocols); j++) {
> +			if (!base->protocols[j].desc)
> +				break;
>  			if (base->protocols[j].desc == desc) {
>  				*res = dev_proto_desc[i].type;
>  				return 0;
> --
> 2.30.2
>
>
diff mbox series

Patch

diff --git a/src/proto.c b/src/proto.c
index 31a2f38065ad..a013a00d2c7b 100644
--- a/src/proto.c
+++ b/src/proto.c
@@ -59,8 +59,9 @@  proto_find_upper(const struct proto_desc *base, unsigned int num)
 {
 	unsigned int i;
 
-	for (i = 0; i < array_size(base->protocols) && base->protocols[i].desc;
-	     i++) {
+	for (i = 0; i < array_size(base->protocols); i++) {
+		if (!base->protocols[i].desc)
+			break;
 		if (base->protocols[i].num == num)
 			return base->protocols[i].desc;
 	}
@@ -78,8 +79,9 @@  int proto_find_num(const struct proto_desc *base,
 {
 	unsigned int i;
 
-	for (i = 0; i < array_size(base->protocols) && base->protocols[i].desc;
-	     i++) {
+	for (i = 0; i < array_size(base->protocols); i++) {
+		if (!base->protocols[i].desc)
+			break;
 		if (base->protocols[i].desc == desc)
 			return base->protocols[i].num;
 	}
@@ -107,9 +109,9 @@  int proto_dev_type(const struct proto_desc *desc, uint16_t *res)
 			*res = dev_proto_desc[i].type;
 			return 0;
 		}
-		for (j = 0; j < array_size(base->protocols) &&
-			     base->protocols[j].desc;
-		     j++) {
+		for (j = 0; j < array_size(base->protocols); j++) {
+			if (!base->protocols[j].desc)
+				break;
 			if (base->protocols[j].desc == desc) {
 				*res = dev_proto_desc[i].type;
 				return 0;