#! /bin/sh # -*- coding: utf-8 -*- # Copyright (C) by the Spot authors, see the AUTHORS file for details. # # This file is part of Spot, a model checking library. # # Spot is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # Spot is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public # License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Check that all files use at most 80 columns. set -e rm -f failures.80 LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 export LANG LC_ALL if [ "`echo '{r₁|r₂|r₃}' | wc -m`" != 11 ]; then # The current locale does not grok unicode. # We still run this test, but only on lines that are purely ascii. LANG=C LC_ALL=C export LANG LC_ALL x='[^ -~]' # This blank is a tab. else x='.' fi x="$x$x$x$x$x$x$x$x$x" # 9x x="$x$x$x$x$x$x$x$x$x" # 81x for dir in "${srcdir-.}/../../spot" "${srcdir-.}/../../bin" "${srcdir-.}/.."; do find "$dir" \( -name "${1-*}.hh" \ -o -name "${1-*}.hxx" \ -o -name "${1-*}.cc" \ -o -name "${1-*}.py" \ -o -name "${1-*}.test" \) \ -a -not -path '*.dir/*' \ -a -type f -a -print | while read file; do if (expand $file | grep -q $x) 2>/dev/null; then if grep 'GNU Bison' "$file" >/dev/null || grep '/robin-hood-hashing' "$file" >/dev/null || grep 'generated by flex' "$file" >/dev/null ; then : else echo "$file" >>failures.80 fi fi done done if test -f failures.80; then echo "The following files contain lines with more than 80 characters:" cat failures.80 rm failures.80 exit 1; fi