diff options
Diffstat (limited to '')
-rwxr-xr-x | src/spdk/scripts/eofnl | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/spdk/scripts/eofnl b/src/spdk/scripts/eofnl new file mode 100755 index 00000000..59544561 --- /dev/null +++ b/src/spdk/scripts/eofnl @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# Make sure file has a trailing newline + +f="$1" + +if [ -z "$f" ]; then + echo "usage: $0 <file>" + exit 1 +fi + +if [ ! -f "$f" ]; then + exit 0 +fi + +if [[ $(tail -c1 "$f") ]]; then + echo "$f: No newline at end of file" + echo '' >> "$f" + exit 1 +fi + +if [[ ! $(tail -c2 "$f") ]]; then + echo "$f: Extra trailing newline" + exit 1 +fi + +if grep -q $'\r' "$f"; then + echo "$f: DOS-style newlines" + dos2unix "$f" &> /dev/null + exit 1 +fi + +if grep -q $'[\t ]$' "$f"; then + echo "$f: Trailing whitespace" + sed -i $'s/[ \t]*$//' "$f" + exit 1 +fi + +exit 0 |