summaryrefslogtreecommitdiffstats
path: root/src/spdk/scripts/eofnl
blob: 59544561dffbbd63b8bfef66e8917fd1234a7efa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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