print-non-newline.sh (766B)
1 #!/bin/sh 2 # This Source Code Form is subject to the terms of the Mozilla Public 3 # License, v. 2.0. If a copy of the MPL was not distributed with this 4 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 6 # 7 # The purpose of this file is to find the files that do not end with a 8 # newline. Some compilers fail if the source files do not end with a 9 # newline. 10 # 11 12 # 13 test_file=newline_test 14 test_dummy=newline_testee 15 inlist="$*" 16 broken_list= 17 18 if test "$inlist" = ""; then 19 echo "Usage: $0 *.c *.cpp"; 20 exit 0; 21 fi 22 23 echo "" > $test_file 24 25 for f in $inlist; do 26 if test -f $f; then 27 tail -c 1 $f > $test_dummy 28 if ! `cmp -s $test_file $test_dummy`; then 29 broken_list="$broken_list $f" 30 fi 31 fi 32 done 33 34 rm -f $test_file $test_dummy 35 echo $broken_list