提交 fa327faf 编写于 作者: R Richard Levitte

Teach mkdef.pl to handle multiline declarations.

For the moment, this is specially crafted for DECLARE_DEPRECATED because
that's where we found the problem, but it can easily be expanded to other
types of special delarations when needed.
Reviewed-by: NMatt Caswell <matt@openssl.org>
上级 e5991ec5
......@@ -487,7 +487,14 @@ sub do_defs
while(<IN>) {
if($parens > 0) {
#Inside a DECLARE_DEPRECATED
$parens += count_parens($_);
$stored_multiline .= $_;
chomp $stored_multiline;
print STDERR "DEBUG: Continuing multiline DEPRECATED: $stored_multiline\n" if $debug;
$parens = count_parens($stored_multiline);
if ($parens == 0) {
$stored_multiline =~ /^\s*DECLARE_DEPRECATED\s*\(\s*(\w*(\s|\*|\w)*)/;
$def .= "$1(void);";
}
next;
}
if (/\/\* Error codes for the \w+ functions\. \*\//)
......@@ -881,9 +888,15 @@ sub do_defs
"EXPORT_VAR_AS_FUNCTION",
"FUNCTION");
} elsif (/^\s*DECLARE_DEPRECATED\s*\(\s*(\w*(\s|\*|\w)*)/) {
$def .= "$1(void);";
$parens = count_parens($_);
next;
if ($parens == 0) {
$def .= "$1(void);";
} else {
$stored_multiline = $_;
chomp $stored_multiline;
print STDERR "DEBUG: Found multiline DEPRECATED starting with: $stored_multiline\n" if $debug;
next;
}
} elsif ($tag{'CONST_STRICT'} != 1) {
if (/\{|\/\*|\([^\)]*$/) {
$line = $_;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册