32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
|
From 1dd540c6bf5bac70d5d61b869ac652523b91ee2b Mon Sep 17 00:00:00 2001
|
||
|
From: Benjamin Marzinski <bmarzins@redhat.com>
|
||
|
Date: Fri, 24 May 2019 17:30:07 -0500
|
||
|
Subject: [PATCH] libmultipath: make vector_foreach_slot_backwards work as
|
||
|
expected
|
||
|
|
||
|
All of the code that uses vector_foreach_slot_backwards() treats "i" as
|
||
|
the index of the entry "p", but the way it was coded, that wasn't the
|
||
|
case. "i" was the number of the entry counting from 1, not 0.
|
||
|
|
||
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
||
|
---
|
||
|
libmultipath/vector.h | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/libmultipath/vector.h b/libmultipath/vector.h
|
||
|
index 41d2b896..344dffd5 100644
|
||
|
--- a/libmultipath/vector.h
|
||
|
+++ b/libmultipath/vector.h
|
||
|
@@ -40,7 +40,7 @@ typedef struct _vector *vector;
|
||
|
#define vector_foreach_slot_after(v,p,i) \
|
||
|
for (; (v) && i < VECTOR_SIZE(v) && ((p) = (v)->slot[i]); i++)
|
||
|
#define vector_foreach_slot_backwards(v,p,i) \
|
||
|
- for (i = VECTOR_SIZE(v); i > 0 && ((p) = (v)->slot[i-1]); i--)
|
||
|
+ for (i = VECTOR_SIZE(v) - 1; (int)i >= 0 && ((p) = (v)->slot[i]); i--)
|
||
|
|
||
|
#define identity(x) (x)
|
||
|
/*
|
||
|
--
|
||
|
2.17.2
|
||
|
|