[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190508112842.11654-2-alexandru.ardelean@analog.com>
Date: Wed, 8 May 2019 14:28:26 +0300
From: Alexandru Ardelean <alexandru.ardelean@...log.com>
To: <linuxppc-dev@...ts.ozlabs.org>, <linux-kernel@...r.kernel.org>,
<linux-ide@...r.kernel.org>, <linux-clk@...r.kernel.org>,
<linux-rpi-kernel@...ts.infradead.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-rockchip@...ts.infradead.org>, <linux-pm@...r.kernel.org>,
<linux-gpio@...r.kernel.org>, <dri-devel@...ts.freedesktop.org>,
<intel-gfx@...ts.freedesktop.org>, <linux-omap@...r.kernel.org>,
<linux-mmc@...r.kernel.org>, <linux-wireless@...r.kernel.org>,
<netdev@...r.kernel.org>, <linux-pci@...r.kernel.org>,
<linux-tegra@...r.kernel.org>, <devel@...verdev.osuosl.org>,
<linux-usb@...r.kernel.org>, <kvm@...r.kernel.org>,
<linux-fbdev@...r.kernel.org>, <linux-mtd@...ts.infradead.org>,
<cgroups@...r.kernel.org>, <linux-mm@...ck.org>,
<linux-security-module@...r.kernel.org>,
<linux-integrity@...r.kernel.org>, <alsa-devel@...a-project.org>
CC: <gregkh@...uxfoundation.org>, <andriy.shevchenko@...ux.intel.com>,
Alexandru Ardelean <alexandru.ardelean@...log.com>
Subject: [PATCH 01/16] lib: fix match_string() helper on -1 array size
The documentation the `_match_string()` helper mentions that `n`
should be:
* @n: number of strings in the array or -1 for NULL terminated arrays
The behavior of the function is different, in the sense that it exits on
the first NULL element in the array, regardless of whether `n` is -1 or a
positive number.
This patch changes the behavior, to exit the loop when a NULL element is
found and n == -1. Essentially, this aligns the behavior with the
doc-string.
There are currently many users of `match_string()`, and so, in order to go
through them, the next patches in the series will focus on doing some
cosmetic changes, which are aimed at grouping the users of
`match_string()`.
Signed-off-by: Alexandru Ardelean <alexandru.ardelean@...log.com>
---
lib/string.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/string.c b/lib/string.c
index 3ab861c1a857..76edb7bf76cb 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -648,8 +648,11 @@ int match_string(const char * const *array, size_t n, const char *string)
for (index = 0; index < n; index++) {
item = array[index];
- if (!item)
+ if (!item) {
+ if (n != (size_t)-1)
+ continue;
break;
+ }
if (!strcmp(item, string))
return index;
}
--
2.17.1
Powered by blists - more mailing lists