[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4] scripts/checkpatch.pl: add check for `while`
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v4] scripts/checkpatch.pl: add check for `while` and `for` |
Date: |
Tue, 6 Mar 2018 12:09:36 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
On 06/03/2018 08:04, Su Hang wrote:
> Adding check for `while` and `for` statements, which condition has more than
> one line.
>
> The former checkpatch.pl can check `if` statement, which condition has more
> than one line, whether block misses brace round, like this:
> '''
> if (cond1 ||
> cond2)
> statement;
> '''
> But it doesn't do the same check for `for` and `while` statements.
>
> Using `(?:...)` instead of `(...)` in regex pattern catch.
> Because `(?:...)` is faster and avoids unwanted side-effect.
>
> Suggested-by: Stefan Hajnoczi <address@hidden>
> Suggested-by: Eric Blake <address@hidden>
> Suggested-by: Thomas Huth <address@hidden>
> Signed-off-by: Su Hang <address@hidden>
> ---
> scripts/checkpatch.pl | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 1b4b812e28fa..b1a8407d7406 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2352,8 +2352,9 @@ sub process {
> }
> }
>
> -# check for missing bracing round if etc
> - if ($line =~ /(^.*)\bif\b/ && $line !~ /\#\s*if/) {
> +# check for missing bracing around if etc
> + if ($line =~ /(^.*)\b(?:if|while|for)\b/ &&
> + $line !~ /\#\s*(?:if|while|for)/) {
The second line checks for preprocessor statements and does not need to
be extended with (?:if|while|for).
I changed this and applied the patch. Thanks,
Paolo
> my ($level, $endln, @chunks) =
> ctx_statement_full($linenr, $realcnt, 1);
> if ($dbg_adv_apw) {
>
Q