2018-05-15 09:49:22 +00:00
|
|
|
#! /bin/sh -e
|
2019-06-25 11:12:58 +00:00
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
# Copyright 2017 Mellanox Technologies, Ltd
|
2018-05-15 09:49:22 +00:00
|
|
|
|
|
|
|
# Check C files in git repository for duplicated includes.
|
|
|
|
# Usage: devtools/check-dup-includes.sh [directory]
|
|
|
|
|
2020-06-18 16:55:50 +00:00
|
|
|
dir=${1:-$(dirname $(readlink -f $0))/..}
|
2018-05-15 09:49:22 +00:00
|
|
|
cd $dir
|
|
|
|
|
|
|
|
# speed up by ignoring Unicode details
|
|
|
|
export LC_ALL=C
|
|
|
|
|
|
|
|
for file in $(git ls-files '*.[ch]') ; do
|
|
|
|
sed -rn 's,^[[:space:]]*#include[[:space:]]*[<"](.*)[>"].*,\1,p' $file |
|
|
|
|
sort | uniq -d |
|
|
|
|
sed "s,^,$file: duplicated include: ,"
|
|
|
|
done
|