On Mon, Jan 7, 2019 at 9:07 PM Nathan Chancellor <natechancel...@gmail.com> wrote: > > A recent commit in Clang expanded the -Wstring-plus-int warning, showing > some odd behavior in this file. > > drivers/isdn/hardware/avm/b1.c:426:30: warning: adding 'int' to a string does > not append to the string [-Wstring-plus-int] > cinfo->version[j] = "\0\0" + 1; > ~~~~~~~^~~ > drivers/isdn/hardware/avm/b1.c:426:30: note: use array indexing to silence > this warning > cinfo->version[j] = "\0\0" + 1; > ^ > & [ ] > 1 warning generated. > > This is equivalent to just "\0" so fix it to clean up the warning.
Hard to tell what the intent of this was. I also assume that they meant to set all version strings to the empty string. I think just `= ""` would be better, as otherwise that creates a new data section containing two zero bytes vs the empty string which already probably exists throughout the kernel and can be deduplicated by the linker. https://godbolt.org/z/qf3Rn8 Sorry I gave the quick LGTM in https://github.com/ClangBuiltLinux/linux/issues/309#issuecomment-452106468, that was my mistake. Assuming there's no other comments (maybe from the maintainers) on what the intent of this code actually is, would you mind sending a V2? (Sorry again for the quick LGTM on this version). > > Link: https://github.com/ClangBuiltLinux/linux/issues/309 > Signed-off-by: Nathan Chancellor <natechancel...@gmail.com> > --- > drivers/isdn/hardware/avm/b1.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/isdn/hardware/avm/b1.c b/drivers/isdn/hardware/avm/b1.c > index 4ac378e48902..7fa8141e2019 100644 > --- a/drivers/isdn/hardware/avm/b1.c > +++ b/drivers/isdn/hardware/avm/b1.c > @@ -423,7 +423,7 @@ void b1_parse_version(avmctrl_info *cinfo) > int i, j; > > for (j = 0; j < AVM_MAXVERSION; j++) > - cinfo->version[j] = "\0\0" + 1; > + cinfo->version[j] = "\0"; > for (i = 0, j = 0; > j < AVM_MAXVERSION && i < cinfo->versionlen; > j++, i += cinfo->versionbuf[i] + 1) > -- > 2.20.1 > -- Thanks, ~Nick Desaulniers