* [PATCH v2] lib: Make strreplace prototype compatible with C++ [not found] <CA+55aFy_whqDaO_qOg0sz8+LKNRfj7QcHVQyce4FvF78tcvTkQ@mail.gmail.com> @ 2016-06-17 17:24 ` Matt Ullman 2016-06-17 18:38 ` Randy Dunlap 0 siblings, 1 reply; 5+ messages in thread From: Matt Ullman @ 2016-06-17 17:24 UTC (permalink / raw) To: Linus Torvalds; +Cc: linux-kernel, Matt Ullman 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 <staticfox@staticfox.net> --- Thanks for your feedback and I agree. I've made the requested changes. include/linux/string.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/string.h b/include/linux/string.h index 26b6f6a..1e5183b 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 *, char, char); extern void kfree_const(const void *x); -- 2.9.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2] lib: Make strreplace prototype compatible with C++ 2016-06-17 17:24 ` [PATCH v2] lib: Make strreplace prototype compatible with C++ Matt Ullman @ 2016-06-17 18:38 ` Randy Dunlap 2016-06-17 19:38 ` Matt Ullman 0 siblings, 1 reply; 5+ messages in thread From: Randy Dunlap @ 2016-06-17 18:38 UTC (permalink / raw) To: Matt Ullman, Linus Torvalds; +Cc: linux-kernel On 06/17/16 10:24, Matt Ullman wrote: > 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 <staticfox@staticfox.net> > --- > Thanks for your feedback and I agree. I've made the requested changes. I didn't see and could not find any reply to v1. Who is that comment addressed to? Linus? fwiw, I prefer v1 of the patch. and so does scripts/kernel-doc. > include/linux/string.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/string.h b/include/linux/string.h > index 26b6f6a..1e5183b 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 *, char, char); > > extern void kfree_const(const void *x); > > -- ~Randy ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] lib: Make strreplace prototype compatible with C++ 2016-06-17 18:38 ` Randy Dunlap @ 2016-06-17 19:38 ` Matt Ullman 2016-06-17 19:54 ` Joe Perches 0 siblings, 1 reply; 5+ messages in thread From: Matt Ullman @ 2016-06-17 19:38 UTC (permalink / raw) To: Randy Dunlap, Linus Torvalds; +Cc: linux-kernel On Fri, Jun 17, 2016 at 11:38:13AM -0700, Randy Dunlap wrote: > I didn't see and could not find any reply to v1. Who is that comment > addressed to? Linus? Yes, this was addressed to Linus. He CC'd the mailing list, but I could not find it either. Here is what he wrote: > Please only change the prototype, not the function. Might as well remove > the argument names in the prototype. > > Let's not make the C code uglier for no reason. The fact that C++ screwed > up and thought that "new" can't be used as a variable name is no reason not > to do it in C code. > > Similarly, we don't make C code use the insane C++ pointer caring rules. > > Linus -- Matt Ullman ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] lib: Make strreplace prototype compatible with C++ 2016-06-17 19:38 ` Matt Ullman @ 2016-06-17 19:54 ` Joe Perches 2016-06-17 20:25 ` Matt Ullman 0 siblings, 1 reply; 5+ messages in thread From: Joe Perches @ 2016-06-17 19:54 UTC (permalink / raw) To: 57644395.9010505, Randy Dunlap, Linus Torvalds, Matt Ullman; +Cc: linux-kernel (Matt, you've got an unusual reply-to header) On Fri, 2016-06-17 at 15:38 -0400, Matt Ullman wrote: > On Fri, Jun 17, 2016 at 11:38:13AM -0700, Randy Dunlap wrote: > > I didn't see and could not find any reply to v1. Who is that comment > > addressed to? Linus? > Yes, this was addressed to Linus. He CC'd the mailing list, but I could not > find it either. Here is what he wrote: > > > > Please only change the prototype, not the function. Might as well remove > > the argument names in the prototype. > > > > Let's not make the C code uglier for no reason. The fact that C++ screwed > > up and thought that "new" can't be used as a variable name is no reason not > > to do it in C code. > > > > Similarly, we don't make C code use the insane C++ pointer caring rules. > > > > Linus > -- Matt Ullman I think kernel-doc is useful and maybe from/to or find/replace could be used instead of old/new ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2] lib: Make strreplace prototype compatible with C++ 2016-06-17 19:54 ` Joe Perches @ 2016-06-17 20:25 ` Matt Ullman 0 siblings, 0 replies; 5+ messages in thread From: Matt Ullman @ 2016-06-17 20:25 UTC (permalink / raw) To: Joe Perches; +Cc: linux-kernel > On Fri, Jun 17, 2016 at 12:54:55PM -0700, Joe Perches wrote: > (Matt, you've got an unusual reply-to header) Apologies, I'm using a new mail client and accidently set Reply-To instead of In-Reply-To. -- Matt Ullman ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-06-17 20:25 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CA+55aFy_whqDaO_qOg0sz8+LKNRfj7QcHVQyce4FvF78tcvTkQ@mail.gmail.com>
2016-06-17 17:24 ` [PATCH v2] lib: Make strreplace prototype compatible with C++ Matt Ullman
2016-06-17 18:38 ` Randy Dunlap
2016-06-17 19:38 ` Matt Ullman
2016-06-17 19:54 ` Joe Perches
2016-06-17 20:25 ` Matt Ullman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox