Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
a9179d78
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a9179d78
编写于
6月 15, 2016
作者:
J
Ján Tomko
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
syntax-check: rewrite prohibit-duplicate-header in perl
Invoke the script only once instead of once for every file.
上级
dfeb19ff
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
25 deletion
+29
-25
build-aux/prohibit-duplicate-header.pl
build-aux/prohibit-duplicate-header.pl
+22
-0
cfg.mk
cfg.mk
+7
-25
未找到文件。
build-aux/prohibit-duplicate-header.pl
0 → 100644
浏览文件 @
a9179d78
#!/usr/bin/perl
use
strict
;
my
$file
=
"
";
my
$ret
=
0
;
my
%includes
=
(
);
while
(
<>
)
{
if
(
not
$file
eq
$ARGV
)
{
%includes
=
(
);
$file
=
$ARGV
;
}
if
(
/^# *include *[<"]([^>"]*\.h)[">]/
)
{
$includes
{
$
1
}
++
;
if
(
$includes
{
$
1
}
==
2
)
{
$ret
=
1
;
print
STDERR
"
$1 included multiple times in
$ARGV
\n
";
}
}
}
exit
$ret
;
cfg.mk
浏览文件 @
a9179d78
...
...
@@ -814,30 +814,6 @@ sc_prohibit_exit_in_tests:
halt
=
'use return, not exit(), in tests'
\
$(_sc_search_regexp)
# Don't include duplicate header in the source (either *.c or *.h)
sc_prohibit_duplicate_header
:
@
fail
=
0
;
for
i
in
$$
(
$(VC_LIST_EXCEPT)
|
grep
'\.[chx]$$'
)
;
do
\
awk
'/# *include.*\.h/ { \
match($$0, /[<"][^>"]*[">]/); \
arr[substr($$0, RSTART + 1, RLENGTH - 2)]++; \
} \
END { \
for (key in arr) { \
if (arr[key] > 1) { \
fail=1; \
printf("%d %s are included\n", arr[key], key); \
} \
} \
if (fail == 1) { \
printf("duplicate header(s) in " FILENAME "\n"); \
exit 1; \
} \
}'
$$
i
||
fail
=
1
;
\
done
;
\
if
test
$$
fail
-eq
1
;
then
\
{
echo
'
$(ME)
: avoid duplicate headers'
1>&2
;
exit
1
;
}
\
fi
;
# Don't include "libvirt/*.h" in "" form.
sc_prohibit_include_public_headers_quote
:
@
prohibit
=
'# *include *"libvirt/.*\.h"'
\
...
...
@@ -1098,9 +1074,15 @@ _autogen:
# regenerate HACKING as part of the syntax-check
ifneq
($(_gl-Makefile),)
syntax-check
:
$(top_srcdir)/HACKING spacing-check test-wrap-argv
syntax-check
:
$(top_srcdir)/HACKING spacing-check test-wrap-argv
\
prohibit-duplicate-header
endif
# Don't include duplicate header in the source (either *.c or *.h)
prohibit-duplicate-header
:
$(AM_V_GEN)files
=
$$
(
$(VC_LIST_EXCEPT)
|
grep
'\.[chx]$$'
)
;
\
$(PERL)
-W
$(top_srcdir)
/build-aux/prohibit-duplicate-header.pl
$$
files
spacing-check
:
$(AM_V_GEN)files
=
`
$(VC_LIST)
|
grep
'\.c$$'
`
;
\
$(PERL)
$(top_srcdir)
/build-aux/check-spacing.pl
$$
files
||
\
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录