Re: [patch] checkpatch: warn on missing spaces in broken up quoted strings

From: Joe Perches
Date: Fri Jun 13 2014 - 15:52:39 EST


On Fri, 2014-06-13 at 12:46 +0300, Dan Carpenter wrote:
> On Fri, Jun 13, 2014 at 02:30:22AM -0700, Joe Perches wrote:
>
> > > +# check for missing a space in a string concatination
> > > + if ($prevrawline =~ /[^\\][a-zA-Z]"$/ && $rawline =~ /^\+[\t ]+"[a-zA-Z]/) {
> > > + WARN('MISSING_SPACE',
> > > + "break quoted strings at a space character\n" . $hereprev);
> > > + }
> >
> > Probably want digits too so maybe \w instead of "[a-zA-Z]/

Couple nits:

The indentation isn't right here.

And this check is probably better placed immediately
after the "SPLIT_STRING" test.

[]

> ./drivers/scsi/pm8001/pm8001_ctl.c:297 "0x%08x 0x%08x\n",
> ./drivers/scsi/pm8001/pm8001_ctl.c:432 "0x%08x 0x%08x\n",
> ./drivers/scsi/qla2xxx/qla_nx2.c:1457 "0x%X 0x%X 0x%X 0x%X 0x%X 0x%X\n"
> - hex false positives

These look more like defects to me.

> I thought about doing that when I wrote my original patch but I was
> worried about more hex false positives. If there are only those 3 then
> it's probably not a big deal. What do you think?

I know it works on files, but I'm not sure it works on patches.

What happens when checking a single line replacement patch?

Likely the \\[a-zA-Z] check should include
all the tests that the multiple line string exceptions use.

(?:\\(?:[ntr]|[0-7]{1,3}|x[0-9a-fA-F]{1,2})|;\s*|\{\s*)"\s*$

cheers, Joe

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/