scripts: show full headline with checkpatch
authorThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 3 Nov 2016 08:12:33 +0000 (09:12 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sat, 5 Nov 2016 14:47:42 +0000 (15:47 +0100)
The Subject in an email can be split on two lines.
In such case, the second line (starting with a space) can be
joined to the first one.

It is handled differently when parsing stdin or a file.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
scripts/checkpatches.sh

index 619ac21..2f67d24 100755 (executable)
@@ -101,13 +101,16 @@ check () { # <patch> <commit> <title>
 
 if [ -n "$1" ] ; then
        for patch in "$@" ; do
-               subject=$(sed -n 's,^Subject: ,,p' "$patch")
+               # Subject can be on 2 lines
+               subject=$(sed '/^Subject: */!d;s///;N;s,\n[[:space:]]\+, ,;s,\n.*,,;q' "$patch")
                check "$patch" '' "$subject"
        done
 elif [ ! -t 0 ] ; then # stdin
        subject=$(while read header value ; do
                if [ "$header" = 'Subject:' ] ; then
-                       echo $value
+                       IFS= read next
+                       continuation=$(echo "$next" | sed -n 's,^[[:space:]]\+, ,p')
+                       echo $value$continuation
                        break
                fi
        done)