Re: [PATCH] checkpatch: Check for quoted strings broken across lines

Josh Triplett
2012-02-02T21:28:51Z

On Thu, Feb 02, 2012 at 12:36:29PM -0800, Joe Perches wrote:
> On Thu, 2012-02-02 at 12:06 -0800, Josh Triplett wrote:
> > Documentation/CodingStyle recommends not splitting quoted strings across
> > lines, because it breaks the ability to grep for the string. checkpatch
> > already makes an exception to the 80-column rule for quoted strings to
> > allow this. Rather than just allowing it, actively warn about quoted
> > strings split across lines.
> []
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -1737,6 +1737,17 @@ sub process {
> []
> > +# Check for strings broken across lines (breaks greppability). Make an
> > +# exception when the previous string ends in a newline (multiple lines in one
> > +# string constant) or \n\t (common in inline assembly to indent the instruction
> > +# on the following line).
> > + if ($line =~ /^\+\s*"/ &&
> > + $prevline =~ /"\s*$/ &&
> > + $prevrawline !~ /\\n(?:\\t)*"\s*$/) {
> > + WARN("SPLIT_STRING",
> > + "quoted string split across lines\n" . $herecurr);
>
> Seems sensible but there are also asm uses like:
>
> arch/x86/include/asm/pvclock.h: "xor %5,%5 ; "
> "add %4,%%eax ; "

I did see those, yes. However, a quick grep through the kernel shows
that those occur quite rarely compared to \n or \n\t; the latter looks
like the standard style. How about I provide a patch for
Documentation/CodingStyle adding a chapter on inline assembly, with that
and other style guidelines? :)

- Josh Triplett