#!/bin/sh # This file is part of the coreboot project. # # This program 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; version 2 of the License. # # This program 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. # # DESCR: Check that variables have fully qualified types LC_ALL=C export LC_ALL INCLUDED_DIRS='^src/\|^util/\|payloads/libpayload\|payloads/coreinfo' EXCLUDED_DIRS='^src/vendorcode\|cbfstool/lzma\|cbfstool/lz4' INCLUDED_FILES='\.[ch]:' # Use git grep if the code is in a git repo, otherwise use grep. if [ -n "$(command -v git)" ] && \ [ "$(git rev-parse --is-inside-work-tree 2>/dev/null)" = "true" ] then GREP_FILES="git grep -n" else GREP_FILES="grep -rn" fi ${GREP_FILES} 'unsigned[[:space:]]' | \ grep "$INCLUDED_DIRS" | \ grep -v "$EXCLUDED_DIRS" | \ grep "$INCLUDED_FILES" | \ grep -v 'unsigned[[:space:]]*int\|unsigned[[:space:]]*long\|unsigned[[:space:]]*char\|unsigned[[:space:]]*short' | \ grep -v ':[[:space:]]*/\*\|:[[:space:]]*\*'