From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932114AbcF3XvQ (ORCPT ); Thu, 30 Jun 2016 19:51:16 -0400 Received: from mail-pa0-f46.google.com ([209.85.220.46]:34913 "EHLO mail-pa0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752783AbcF3XvB (ORCPT ); Thu, 30 Jun 2016 19:51:01 -0400 From: Markus Mayer To: Andrew Morton , Al Viro , Rasmus Villemoes , Chris Metcalf , Kees Cook Cc: Markus Mayer , dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-acpi@vger.kernel.org, devel@acpica.org, speakup@linux-speakup.org, devel@driverdev.osuosl.org, linux-scsi@vger.kernel.org, target-devel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/6] lib: string: add function strtolower() Date: Thu, 30 Jun 2016 16:50:07 -0700 Message-Id: <1467330612-26242-2-git-send-email-mmayer@broadcom.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1467330612-26242-1-git-send-email-mmayer@broadcom.com> References: <1467330612-26242-1-git-send-email-mmayer@broadcom.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add a function called strtolower() to convert strings to lower case in-place, overwriting the original string. This seems to be a recurring requirement in the kernel that is currently being solved by several duplicated implementations doing the same thing. Signed-off-by: Markus Mayer --- include/linux/string.h | 1 + lib/string.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/linux/string.h b/include/linux/string.h index 26b6f6a..aad605e 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -116,6 +116,7 @@ extern void * memchr(const void *,int,__kernel_size_t); #endif void *memchr_inv(const void *s, int c, size_t n); char *strreplace(char *s, char old, char new); +char *strtolower(char *s); extern void kfree_const(const void *x); diff --git a/lib/string.c b/lib/string.c index ed83562..6e3b560 100644 --- a/lib/string.c +++ b/lib/string.c @@ -952,3 +952,17 @@ char *strreplace(char *s, char old, char new) return s; } EXPORT_SYMBOL(strreplace); + +char *strtolower(char *s) +{ + char *p; + + if (unlikely(!s)) + return NULL; + + for (p = s; *p; p++) + *p = tolower(*p); + + return s; +} +EXPORT_SYMBOL(strtolower); -- 2.7.4