| 12345678910111213141516171819202122 | #!/bin/sh
# This script checks for Byte Order Marks in source files
# which in some places may break compilation/runtime of eSpeak NG
# Look for more at: https://en.wikipedia.org/wiki/Byte_order_mark
echo -n "testing for Byte Order Marks in source files ... "
# TODO checking for other encodings (e.g. UTF-16, UTF-32, UTF-7) needs more elaborate search,
# otherwise it shows many false positives
cd $(dirname $0)/..
grep -ErlI $'\xEF\xBB\xBF' * | grep -v '^build/' | tee tests/bom.check >/dev/null # UTF-8
if [ -s tests/bom.check ] ; then
	echo "found:"
	cat tests/bom.check
	false
else
	rm tests/bom.check
	echo "none found"
	true
fi
 |