/
githubmirror
/
curl
Обзор
Документация
Войти
/
githubmirror
/
curl
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
scripts/checksrc-all.pl
48 строк
1 KB
Viktor Szakats
perl: `|| die` -> `or die`
16 июн 2026, 01:41
16 июн 2026, 01:41
678e639
Код
Авторство
О чём код?
#!/usr/bin/env perl # Copyright (C) Viktor Szakats # # SPDX-License-Identifier: curl use strict; use warnings; use File::Basename; use File::Find; use Cwd 'abs_path'; my @files; my $is_git = 0; if(system('git rev-parse --is-inside-work-tree >/dev/null 2>&1') == 0) { open(O, '-|', 'git', 'ls-files', '*.[ch]') or die; push @files, <O>; close(O); $is_git = 1; } else { find(sub { if(/\.[ch]$/) { push(@files, $File::Find::name) } }, ('.')); } if(@ARGV) { find(sub { if(/\.[ch]$/) { push(@files, $File::Find::name) } }, @ARGV); } @files = grep !/\/CMakeFiles\//, @files; @files = grep !/tests\/data\/data.+\.c/, @files; @files = map { dirname($_) } @files; my @dirs = sort { $a cmp $b } keys %{{ map { $_ => 1 } @files }}; my $scripts_dir = dirname(abs_path($0)); my $anyfailed = 0; for my $dir (@dirs) { if($is_git) { @files = (); open(O, '-|', 'git', 'ls-files', ":(glob)$dir/*.[ch]") or die; push @files, <O>; close(O); chomp(@files); } else { @files = glob("$dir/*.[ch]"); } if(@files && system("$scripts_dir/checksrc.pl", @files) != 0) { $anyfailed = 1; } } exit $anyfailed;