[PATCH] checkpatch: Warn on unnecessary line continuations

From: Joe Perches
Date: Mon Oct 22 2012 - 09:16:34 EST


Line continuations are not normal kernel style.
Bleat a warning when used outside of a macro definition.

Signed-off-by: Joe Perches <joe@xxxxxxxxxxx>
---

On Mon, 2012-10-22 at 09:02 -0400, Peter Hurley wrote:
> On Mon, 2012-10-22 at 05:15 -0700, Joe Perches wrote:
> > waOn Mon, 2012-10-22 at 10:37 +0100, David Howells wrote:
> > > Joe Perches <joe@xxxxxxxxxxx> wrote:
> > >
> > > > On Sat, 2012-10-20 at 23:33 +0100, Ken O'Brien wrote:
> > > > ...
> > > > > - pr_err("binder: %d: binder_alloc_buf failed to "
> > > > > + pr_err("binder: %d: binder_alloc_buf failed to " \
> > > > > "map pages in userspace, no vma\n", proc->pid);
> > > > ...
> > > > Nice try, but the "right" way to do this is to coalesce formats like:
> > > >
> > > > pr_err("binder: %d: binder_alloc_buf failed to map pages in userspace, no vma\n",
> > > > proc->pid);
> > >
> > > Surely the right way is to fix _checkpatch_ to see ["]\n\s*["] and merge the
> > > lines before checking them? We shouldn't have to fix up the source in either
> > > of these fashions just because checkpatch is broken.
> >
> > checkpatch is stupid, but it's not broken here.
> >
> > Formats should be coalesced into a single line to make
> > grepping the source for dmesg output easier.
>
> But MODULE_PARM_DESC() multi-line strings are ok, right?
>

I don't think so.
Maybe this patch:

scripts/checkpatch.pl | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 21a9f5d..d4ea29a 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3011,6 +3011,14 @@ sub process {
"Macros with complex values should be enclosed in parenthesis\n" . "$herectx");
}
}
+
+# check for line continuations outside of #defines
+
+ } else {
+ if ($line =~ /^\+.*\\$/) {
+ WARN("LINE_CONTINUATIONS",
+ "Avoid unnecessary line continuations\n" . $herecurr);
+ }
}

# do {} while (0) macro tests:


--
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/