Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/pkg
Path: blob/main/external/curl/scripts/checksrc-all.pl
2645 views
1
#!/usr/bin/env perl
2
# Copyright (C) Viktor Szakats
3
#
4
# SPDX-License-Identifier: curl
5
6
use strict;
7
use warnings;
8
9
use File::Basename;
10
use File::Find;
11
use Cwd 'abs_path';
12
13
my @files;
14
if(system('git rev-parse --is-inside-work-tree >/dev/null 2>&1') == 0) {
15
@files = `git ls-files '*.[ch]'`;
16
}
17
else {
18
find(sub { if(/\.[ch]$/) { push(@files, $File::Find::name) } }, ('.'));
19
}
20
if(@ARGV) {
21
find(sub { if(/\.[ch]$/) { push(@files, $File::Find::name) } }, @ARGV);
22
}
23
24
@files = grep !/\/CMakeFiles\//, @files;
25
@files = map { dirname($_) } @files;
26
my @dirs = sort { $a cmp $b } keys %{{ map { $_ => 1 } @files }};
27
28
my $scripts_dir = dirname(abs_path($0));
29
my $anyfailed = 0;
30
31
for my $dir (@dirs) {
32
@files = glob("$dir/*.[ch]");
33
if(@files && system("$scripts_dir/checksrc.pl", @files) != 0) {
34
$anyfailed = 1;
35
}
36
}
37
38
exit $anyfailed;
39
40