Re: [PATCH v2] checkpatch: Add a warning for log messages that don't end in a new line

From: Joe Perches
Date: Sun Nov 26 2017 - 20:13:13 EST


On Sun, 2017-11-26 at 23:44 +0100, Julia Lawall wrote:
> My semantic patch and results are below. The semantic patch has some
> features that may or may not be desired:
>
> 1. It goes beyond printk, pr_xxx, dev_xxx, and netdev_xxx, by finding
> functions that are sometimes used with a format string ending with a
> newline. To reduce false positives, such a function is ignored if it is
> sometimes used with a string that ends in a space. This could lead to
> false positives where actually one of the calls has a \n that it should
> not have.
>
> 2. Coccinelle puts multipart strings on a single line. So the rule goes
> a little further and eliminates the multipartness. Basically "xxx " "yyy"
> becomes "xxx yyy" regardless of the length of the result.

What about the semi-common string concatenation "foo" #var "bar" ?

> 3. Some prints appear not to end with a newline because they end with \n.
> where .\n was likely intended. Instead of creating \n.\n, the semantic
> patch just moves the .to the left of the . And if there was .\n. it just
> drops the final period.

That may be a problem if the sentence is "something...\n"

There seem to be many false positives in here too.

cheers, Joe