Blame 0008-biosdecode-Avoid-repeating-pointer-arithmetic.patch

Anton Arapov c2a608
From 2b5c925d19e1eeecf6a24809396fed2774ee0695 Mon Sep 17 00:00:00 2001
Anton Arapov c2a608
From: Jean Delvare <jdelvare@suse.de>
Anton Arapov c2a608
Date: Tue, 25 Jul 2017 11:21:30 +0200
Anton Arapov c2a608
Subject: [PATCH 08/21] biosdecode: Avoid repeating pointer arithmetic
Anton Arapov c2a608
Anton Arapov c2a608
This makes the code both more efficient and more readable.
Anton Arapov c2a608
---
Anton Arapov c2a608
 biosdecode.c | 18 +++++++++---------
Anton Arapov c2a608
 1 file changed, 9 insertions(+), 9 deletions(-)
Anton Arapov c2a608
Anton Arapov c2a608
diff --git a/biosdecode.c b/biosdecode.c
Anton Arapov c2a608
index b37e510..99a27fe 100644
Anton Arapov c2a608
--- a/biosdecode.c
Anton Arapov c2a608
+++ b/biosdecode.c
Anton Arapov c2a608
@@ -375,7 +375,7 @@ static void pir_link_bitmap(char letter, const u8 *p)
Anton Arapov c2a608
 
Anton Arapov c2a608
 static int pir_decode(const u8 *p, size_t len)
Anton Arapov c2a608
 {
Anton Arapov c2a608
-	int i;
Anton Arapov c2a608
+	int i, n;
Anton Arapov c2a608
 
Anton Arapov c2a608
 	if (len < 32 || !checksum(p, WORD(p + 6)))
Anton Arapov c2a608
 		return 0;
Anton Arapov c2a608
@@ -394,18 +394,18 @@ static int pir_decode(const u8 *p, size_t len)
Anton Arapov c2a608
 		printf("\tMiniport Data: 0x%08X\n",
Anton Arapov c2a608
 			DWORD(p + 16));
Anton Arapov c2a608
 
Anton Arapov c2a608
-	for (i = 1; i <= (WORD(p + 6) - 32) / 16; i++)
Anton Arapov c2a608
+	n = (len - 32) / 16;
Anton Arapov c2a608
+	for (i = 1, p += 32; i <= n; i++, p += 16)
Anton Arapov c2a608
 	{
Anton Arapov c2a608
-		printf("\tDevice: %02x:%02x,",
Anton Arapov c2a608
-			p[(i + 1) * 16], p[(i + 1) * 16 + 1] >> 3);
Anton Arapov c2a608
-		pir_slot_number(p[(i + 1) * 16 + 14]);
Anton Arapov c2a608
+		printf("\tDevice: %02x:%02x,", p[0], p[1] >> 3);
Anton Arapov c2a608
+		pir_slot_number(p[14]);
Anton Arapov c2a608
 		printf("\n");
Anton Arapov c2a608
 		if (opt.pir == PIR_FULL)
Anton Arapov c2a608
 		{
Anton Arapov c2a608
-			pir_link_bitmap('A', p + (i + 1) * 16 + 2);
Anton Arapov c2a608
-			pir_link_bitmap('B', p + (i + 1) * 16 + 5);
Anton Arapov c2a608
-			pir_link_bitmap('C', p + (i + 1) * 16 + 8);
Anton Arapov c2a608
-			pir_link_bitmap('D', p + (i + 1) * 16 + 11);
Anton Arapov c2a608
+			pir_link_bitmap('A', p + 2);
Anton Arapov c2a608
+			pir_link_bitmap('B', p + 5);
Anton Arapov c2a608
+			pir_link_bitmap('C', p + 8);
Anton Arapov c2a608
+			pir_link_bitmap('D', p + 11);
Anton Arapov c2a608
 		}
Anton Arapov c2a608
 	}
Anton Arapov c2a608
 
Anton Arapov c2a608
-- 
Anton Arapov c2a608
2.17.1
Anton Arapov c2a608