From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754398AbcFPUmR (ORCPT ); Thu, 16 Jun 2016 16:42:17 -0400 Received: from mail-qk0-f177.google.com ([209.85.220.177]:34414 "EHLO mail-qk0-f177.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753256AbcFPUmP (ORCPT ); Thu, 16 Jun 2016 16:42:15 -0400 From: Matt Ullman To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Matt Ullman Subject: [PATCH] lib: Make strreplace prototype compatible with C++ Date: Thu, 16 Jun 2016 16:41:19 -0400 Message-Id: <20160616204119.24008-1-staticfox@staticfox.net> X-Mailer: git-send-email 2.9.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since "new" is a keyword in C++, this breaks compilation when string.h is included in a C++ file. For example, this affects VirtualBox Guest Additions. https://www.virtualbox.org/pipermail/vbox-dev/2015-August/013368.html Signed-off-by: Matt Ullman --- include/linux/string.h | 2 +- lib/string.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/linux/string.h b/include/linux/string.h index 26b6f6a..410696d 100644 --- a/include/linux/string.h +++ b/include/linux/string.h @@ -115,7 +115,7 @@ extern int memcmp(const void *,const void *,__kernel_size_t); 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 *strreplace(char *s, char oldstr, char newstr); extern void kfree_const(const void *x); diff --git a/lib/string.c b/lib/string.c index ed83562..bab5004 100644 --- a/lib/string.c +++ b/lib/string.c @@ -939,16 +939,16 @@ EXPORT_SYMBOL(memchr_inv); /** * strreplace - Replace all occurrences of character in string. * @s: The string to operate on. - * @old: The character being replaced. - * @new: The character @old is replaced with. + * @oldstr: The character being replaced. + * @newstr: The character @oldstr is replaced with. * * Returns pointer to the nul byte at the end of @s. */ -char *strreplace(char *s, char old, char new) +char *strreplace(char *s, char oldstr, char newstr) { for (; *s; ++s) - if (*s == old) - *s = new; + if (*s == oldstr) + *s = newstr; return s; } EXPORT_SYMBOL(strreplace); -- 2.9.0