[ibm-acpi-devel] [PATCH 17/22] thinkpad_acpi: Replace strnicmp with strncasecmp
The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Cc: Henrique de Moraes Holschuh Cc: Darren Hart Cc: ibm-acpi-devel@lists.sourceforge.net Cc: platform-driver-...@vger.kernel.org Signed-off-by: Rasmus Villemoes --- drivers/platform/x86/thinkpad_acpi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 3bbc6eb..f6a14c0 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -8878,13 +8878,13 @@ static int __must_check __init get_thinkpad_model_data( } s = dmi_get_system_info(DMI_PRODUCT_VERSION); - if (s && !(strnicmp(s, "ThinkPad", 8) && strnicmp(s, "Lenovo", 6))) { + if (s && !(strncasecmp(s, "ThinkPad", 8) && strncasecmp(s, "Lenovo", 6))) { tp->model_str = kstrdup(s, GFP_KERNEL); if (!tp->model_str) return -ENOMEM; } else { s = dmi_get_system_info(DMI_BIOS_VENDOR); - if (s && !(strnicmp(s, "Lenovo", 6))) { + if (s && !(strncasecmp(s, "Lenovo", 6))) { tp->model_str = kstrdup(s, GFP_KERNEL); if (!tp->model_str) return -ENOMEM; -- 2.0.4 -- Slashdot TV. Video for Nerds. Stuff that Matters. http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk ___ ibm-acpi-devel mailing list ibm-acpi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel
Re: [ibm-acpi-devel] [PATCH 17/22] thinkpad_acpi: Replace strnicmp with strncasecmp
On Tue, Sep 16, 2014 at 10:51:31PM +0200, Rasmus Villemoes wrote: > The kernel used to contain two functions for length-delimited, > case-insensitive string comparison, strnicmp with correct semantics > and a slightly buggy strncasecmp. The latter is the POSIX name, so > strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper > for the new strncasecmp to avoid breaking existing users. When was this done? As of this morning I still see them as independent functions in lib/string.c. -- Darren Hart Intel Open Source Technology Center -- Slashdot TV. Video for Nerds. Stuff that Matters. http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk ___ ibm-acpi-devel mailing list ibm-acpi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel
Re: [ibm-acpi-devel] [PATCH 17/22] thinkpad_acpi: Replace strnicmp with strncasecmp
On Wed, Sep 17 2014, Darren Hart wrote: > On Tue, Sep 16, 2014 at 10:51:31PM +0200, Rasmus Villemoes wrote: >> The kernel used to contain two functions for length-delimited, >> case-insensitive string comparison, strnicmp with correct semantics >> and a slightly buggy strncasecmp. The latter is the POSIX name, so >> strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper >> for the new strncasecmp to avoid breaking existing users. > > When was this done? As of this morning I still see them as independent > functions > in lib/string.c. It will be in 3.18. I thought it had made it to linux-next, but should have double-checked (and included the 3.18 info in the email); sorry. http://thread.gmane.org/gmane.linux.kernel/1775150/focus=1775152 Rasmus -- Slashdot TV. Video for Nerds. Stuff that Matters. http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk ___ ibm-acpi-devel mailing list ibm-acpi-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel