diff mbox series

checkpatch: add a warning for basename/dirname

Message ID 1519978965-16865-1-git-send-email-jusual@mail.ru
State New
Headers show
Series checkpatch: add a warning for basename/dirname | expand

Commit Message

Cameron Esfahani via March 2, 2018, 8:22 a.m. UTC
Signed-off-by: Julia Suvorova <jusual@mail.ru>
---
 scripts/checkpatch.pl | 5 +++++
 1 file changed, 5 insertions(+)

Comments

no-reply@patchew.org March 2, 2018, 8:25 a.m. UTC | #1
Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 1519978965-16865-1-git-send-email-jusual@mail.ru
Subject: [Qemu-devel] [PATCH] checkpatch: add a warning for basename/dirname

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]               patchew/1519978965-16865-1-git-send-email-jusual@mail.ru -> patchew/1519978965-16865-1-git-send-email-jusual@mail.ru
Switched to a new branch 'test'
d5b85a9adb checkpatch: add a warning for basename/dirname

=== OUTPUT BEGIN ===
Checking PATCH 1/1: checkpatch: add a warning for basename/dirname...
ERROR: line over 90 characters
#19: FILE: scripts/checkpatch.pl:2589:
+			WARN("consider using g_path_get_$1 in preference to $1(3)\n" . $herecurr);

total: 1 errors, 0 warnings, 11 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
Paolo Bonzini March 2, 2018, 8:56 a.m. UTC | #2
On 02/03/2018 09:22, Julia Suvorova wrote:
> Signed-off-by: Julia Suvorova <jusual@mail.ru>
> ---
>  scripts/checkpatch.pl | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 1b4b812..6c4fb42 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2584,6 +2584,11 @@ sub process {
>  			ERROR("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
>  		}
>  
> +# recommend g_path_get_* over basename(3) and dirname(3)
> +		if ($line =~ /\b(basename|dirname)\s*\(/) {
> +			WARN("consider using g_path_get_$1 in preference to $1(3)\n" . $herecurr);
> +		}
> +
>  # recommend qemu_strto* over strto* for numeric conversions
>  		if ($line =~ /\b(strto[^kd].*?)\s*\(/) {
>  			ERROR("consider using qemu_$1 in preference to $1\n" . $herecurr);
> 

Hi Julia, the patch is fine, but given Alex's objections let's warn only
if you are doing g_strdup(basename(...)) or g_strdup(dirname(...)).

(No other action is needed on your other patch).

Thanks!

Paolo
Cameron Esfahani via March 2, 2018, 9:27 a.m. UTC | #3
On 02.03.2018 11:56, Paolo Bonzini wrote:
> On 02/03/2018 09:22, Julia Suvorova wrote:
>> Signed-off-by: Julia Suvorova <jusual@mail.ru>
>> ---
>>  scripts/checkpatch.pl | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
>> index 1b4b812..6c4fb42 100755
>> --- a/scripts/checkpatch.pl
>> +++ b/scripts/checkpatch.pl
>> @@ -2584,6 +2584,11 @@ sub process {
>>  			ERROR("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
>>  		}
>>  
>> +# recommend g_path_get_* over basename(3) and dirname(3)
>> +		if ($line =~ /\b(basename|dirname)\s*\(/) {
>> +			WARN("consider using g_path_get_$1 in preference to $1(3)\n" . $herecurr);
>> +		}
>> +
>>  # recommend qemu_strto* over strto* for numeric conversions
>>  		if ($line =~ /\b(strto[^kd].*?)\s*\(/) {
>>  			ERROR("consider using qemu_$1 in preference to $1\n" . $herecurr);
>>
> 
> Hi Julia, the patch is fine, but given Alex's objections let's warn only
> if you are doing g_strdup(basename(...)) or g_strdup(dirname(...)).
> 

Ok.

> (No other action is needed on your other patch).
> 
> Thanks!
> 
> Paolo
>
diff mbox series

Patch

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 1b4b812..6c4fb42 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2584,6 +2584,11 @@  sub process {
 			ERROR("__func__ should be used instead of gcc specific __FUNCTION__\n"  . $herecurr);
 		}
 
+# recommend g_path_get_* over basename(3) and dirname(3)
+		if ($line =~ /\b(basename|dirname)\s*\(/) {
+			WARN("consider using g_path_get_$1 in preference to $1(3)\n" . $herecurr);
+		}
+
 # recommend qemu_strto* over strto* for numeric conversions
 		if ($line =~ /\b(strto[^kd].*?)\s*\(/) {
 			ERROR("consider using qemu_$1 in preference to $1\n" . $herecurr);