#!/usr/bin/env bash
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

printTrailingSpaces() {
    PATCH=$1
    cat $PATCH | awk '/^+/ { if (/ $/) { print "\tL" NR ":" $0} }'
}

printTabs() {
    PATCH=$1
    cat $PATCH | awk '/^+/ { if (/\t/) { print "\tL" NR ":" $0 } }'
}

printAuthors() {
    PATCH=$1
    cat $PATCH | awk '/^+/ { L=tolower($0); if (L ~ /.*\*.* @author/) { print "\tL" NR ":" $0 } }'
}

printLongLines() {
    PATCH=$1
    cat $PATCH | awk '/^+/ { if ( length > 121 ) { print "\tL" NR ":" $0 } }'
}

if [[ "X$(basename -- "$0")" = "Xraw-check-patch" ]]; then
    echo Trailing spaces
    printTrailingSpaces $1
    echo
    echo Tabs
    printTabs $1
    echo
    echo Authors
    printAuthors $1
    echo
    echo Long lines
    printLongLines $1
fi
