From 7a7a480dfe56f7d41b8fe5dbef1a3bad0daf1e9b Mon Sep 17 00:00:00 2001 From: Lou Berger Date: Wed, 14 Mar 2018 09:43:16 -0400 Subject: [PATCH 1/2] tools: checkpatch.sh - use run specific /tmp directories, remove them when done Signed-off-by: Lou Berger --- tools/checkpatch.sh | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/tools/checkpatch.sh b/tools/checkpatch.sh index e6110f0c7a..e1fb529d35 100755 --- a/tools/checkpatch.sh +++ b/tools/checkpatch.sh @@ -8,6 +8,8 @@ ignore="ldpd\|babeld" cwd=${PWD##*/} dirty=0 stat=0 +tmp1=/tmp/f1-$$ +tmp2=/tmp/f2-$$ if [[ -z "$1" || -z "$2" ]]; then echo "$usage" @@ -15,7 +17,7 @@ if [[ -z "$1" || -z "$2" ]]; then fi # remove temp directories -rm -rf /tmp/f1 /tmp/f2 +rm -rf ${tmp1} ${tmp2} # save working tree if git -C $tree status --porcelain | egrep --silent '^(\?\?|.[DM])'; then @@ -38,7 +40,7 @@ fi git -C $tree reset --hard git -C $tree apply < $patch -mkdir -p /tmp/f1 /tmp/f2 +mkdir -p ${tmp1} ${tmp2} mod=$(git -C $tree ls-files -m | grep ".*\.[ch]" | grep -v $ignore) mod+=" $(git -C $tree ls-files --others --exclude-standard | grep '.*\.[ch]' | grep -v $ignore)" echo $mod @@ -47,32 +49,32 @@ if [ -z "$mod" ]; then else echo "Copying source to temp directory..." for file in $mod; do - echo "$tree/$file --> /tmp/f1/$file" - cp $tree/$file /tmp/f1/ + echo "$tree/$file --> ${tmp1}/$file" + cp $tree/$file ${tmp1}/ done git -C $tree reset --hard git -C $tree clean -fd for file in $mod; do if [ -f $tree/$file ]; then - echo "$tree/$file --> /tmp/f2/$file" - cp $tree/$file /tmp/f2/ + echo "$tree/$file --> ${tmp2}/$file" + cp $tree/$file ${tmp2}/ fi done echo "Running style checks..." - for file in /tmp/f1/*; do + for file in ${tmp1}/*; do echo "$checkpatch $file > $file _cp" $checkpatch $file > "$file"_cp 2> /dev/null done - for file in /tmp/f2/*; do + for file in ${tmp2}/*; do echo "$checkpatch $file > $file _cp" $checkpatch $file > "$file"_cp 2> /dev/null done echo "Done." - for file in /tmp/f1/*_cp; do - if [ -a /tmp/f2/$(basename $file) ]; then - result=$(diff $file /tmp/f2/$(basename $file) | grep -A3 "ERROR\|WARNING" | grep -A2 -B2 '/tmp/f1') + for file in ${tmp1}/*_cp; do + if [ -a ${tmp2}/$(basename $file) ]; then + result=$(diff $file ${tmp2}/$(basename $file) | grep -A3 "ERROR\|WARNING" | grep -A2 -B2 "${tmp1}") else - result=$(cat $file | grep -A3 "ERROR\|WARNING" | grep -A2 -B2 '/tmp/f1') + result=$(cat $file | grep -A3 "ERROR\|WARNING" | grep -A2 -B2 "${tmp1}") fi if [ "$?" -eq "0" ]; then echo "Report for $(basename $file _cp)" 1>&2 @@ -98,4 +100,7 @@ if [ $dirty -eq 1 ]; then git -C $tree config --unset gc.auto; fi +# remove temp directories +rm -rf ${tmp1} ${tmp2} + exit $stat From f1beb87ed1059cae9aa4e94f61a68f05c9305381 Mon Sep 17 00:00:00 2001 From: Lou Berger Date: Wed, 14 Mar 2018 10:36:27 -0400 Subject: [PATCH 2/2] tools: checkpatch.sh - Add warning that // style comments don't match recommended (kernel) comment style Signed-off-by: Lou Berger --- tools/checkpatch.pl | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tools/checkpatch.pl b/tools/checkpatch.pl index a952de8947..a85d811c96 100755 --- a/tools/checkpatch.pl +++ b/tools/checkpatch.pl @@ -1249,11 +1249,6 @@ sub sanitise_line { $res =~ s@(\#\s*(?:error|warning)\s+).*@$1$clean@; } - if ($allow_c99_comments && $res =~ m@(//.*$)@) { - my $match = $1; - $res =~ s/\Q$match\E/"$;" x length($match)/e; - } - return $res; } @@ -3612,14 +3607,19 @@ sub process { # no C99 // comments if ($line =~ m{//}) { - if (ERROR("C99_COMMENTS", - "do not use C99 // comments\n" . $herecurr) && - $fix) { - my $line = $fixed[$fixlinenr]; - if ($line =~ /\/\/(.*)$/) { - my $comment = trim($1); - $fixed[$fixlinenr] =~ s@\/\/(.*)$@/\* $comment \*/@; + if (!$allow_c99_comments) { + if(ERROR("C99_COMMENTS", + "do not use C99 // comments\n" . $herecurr) && + $fix) { + my $line = $fixed[$fixlinenr]; + if ($line =~ /\/\/(.*)$/) { + my $comment = trim($1); + $fixed[$fixlinenr] =~ s@\/\/(.*)$@/\* $comment \*/@; + } } + } else { + WARN("C99_COMMENTS", + "C99 // comments do not match recommendation\n" . $herecurr); } } # Remove C99 comments.