summaryrefslogtreecommitdiffstats
path: root/devtools/check-dup-includes.sh
blob: e4c2748c610af850c780e2ea061c15b15c9baeae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#! /bin/sh -e
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2017 Mellanox Technologies, Ltd

# Check C files in git repository for duplicated includes.
# Usage: devtools/check-dup-includes.sh [directory]

dir=${1:-$(dirname $(readlink -m $0))/..}
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