2013-03-28 03:43:48

by zhangwei(Jovi)

[permalink] [raw]
Subject: [PATCH] checkpatch: do not exit in main process subroutine

Currently checkpatch program exit when process empty file,
This will cause issue when @ARGV include many files ready to check.

For example, there may have Module.symvers empty file in kernel directory.

[root@jovi ~]# scripts/checkpatch.pl -f kernel/*

then many file "after" empty file will not be check by script.
so disallow exit in main process subroutine.

Signed-off-by: zhangwei(Jovi) <[email protected]>
---
scripts/checkpatch.pl | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index b28cc38..6924733 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3634,19 +3634,19 @@ sub process {
# If we have no input at all, then there is nothing to report on
# so just keep quiet.
if ($#rawlines == -1) {
- exit(0);
+ return $clean;
}

# In mailback mode only produce a report in the negative, for
# things that appear to be patches.
if ($mailback && ($clean == 1 || !$is_patch)) {
- exit(0);
+ return $clean;
}

# This is not a patch, and we are are in 'no-patch' mode so
# just keep quiet.
if (!$chk_patch && !$is_patch) {
- exit(0);
+ return $clean;
}

if (!$is_patch) {
--
1.7.9.7


2013-03-30 10:31:38

by zhangwei(Jovi)

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: do not exit in main process subroutine

On 2013/3/28 11:43, zhangwei(Jovi) wrote:
> Currently checkpatch program exit when process empty file,
> This will cause issue when @ARGV include many files ready to check.
>
> For example, there may have Module.symvers empty file in kernel directory.
>
> [root@jovi ~]# scripts/checkpatch.pl -f kernel/*
>
> then many file "after" empty file will not be check by script.
> so disallow exit in main process subroutine.
>
> Signed-off-by: zhangwei(Jovi) <[email protected]>
Joe, Ping?

> ---
> scripts/checkpatch.pl | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index b28cc38..6924733 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3634,19 +3634,19 @@ sub process {
> # If we have no input at all, then there is nothing to report on
> # so just keep quiet.
> if ($#rawlines == -1) {
> - exit(0);
> + return $clean;
> }
>
> # In mailback mode only produce a report in the negative, for
> # things that appear to be patches.
> if ($mailback && ($clean == 1 || !$is_patch)) {
> - exit(0);
> + return $clean;
> }
>
> # This is not a patch, and we are are in 'no-patch' mode so
> # just keep quiet.
> if (!$chk_patch && !$is_patch) {
> - exit(0);
> + return $clean;
> }
>
> if (!$is_patch) {
>

2013-03-31 04:30:28

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: do not exit in main process subroutine

On Sat, 2013-03-30 at 18:30 +0800, zhangwei(Jovi) wrote:
> On 2013/3/28 11:43, zhangwei(Jovi) wrote:
> > Currently checkpatch program exit when process empty file,
> > This will cause issue when @ARGV include many files ready to check.
> >
> > For example, there may have Module.symvers empty file in kernel directory.
> >
> > [root@jovi ~]# scripts/checkpatch.pl -f kernel/*
> >
> > then many file "after" empty file will not be check by script.
> > so disallow exit in main process subroutine.
> >
> > Signed-off-by: zhangwei(Jovi) <[email protected]>
> Joe, Ping?

Off on a holiday. Will check later.

2013-04-01 03:55:43

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH] checkpatch: do not exit in main process subroutine

On Sat, 2013-03-30 at 18:30 +0800, zhangwei(Jovi) wrote:
> On 2013/3/28 11:43, zhangwei(Jovi) wrote:
> > Currently checkpatch program exit when process empty file,
> > This will cause issue when @ARGV include many files ready to check.
[]
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > @@ -3634,19 +3634,19 @@ sub process {
> > # If we have no input at all, then there is nothing to report on
> > # so just keep quiet.
> > if ($#rawlines == -1) {
> > - exit(0);
> > + return $clean;
> > }

I think instead this should be something like adding

if (!is_patch && $#rawlines == -1) {
return $clean;
}

though maybe expecting checkpatch to avoid empty files
when fed a directory list is unrealistic.