mirror of https://github.com/encounter/SDL.git
wikiheaders.pl: Try to handle functions with multiple declarations better.
This commit is contained in:
parent
3970a885a5
commit
55f60847cb
|
@ -402,15 +402,34 @@ while (readdir(DH)) {
|
||||||
|
|
||||||
#print("$fn:\n$str\n\n");
|
#print("$fn:\n$str\n\n");
|
||||||
|
|
||||||
|
# There might be multiple declarations of a function due to #ifdefs,
|
||||||
|
# and only one of them will have documentation. If we hit an
|
||||||
|
# undocumented one before, delete the placeholder line we left for
|
||||||
|
# it so it doesn't accumulate a new blank line on each run.
|
||||||
|
my $skipfn = 0;
|
||||||
|
if (defined $headerfuncshasdoxygen{$fn}) {
|
||||||
|
if ($headerfuncshasdoxygen{$fn} == 0) { # An undocumented declaration already exists, nuke its placeholder line.
|
||||||
|
delete $contents[$headerfuncschunk{$fn}]; # delete DOES NOT RENUMBER existing elements!
|
||||||
|
} else { # documented function already existed?
|
||||||
|
$skipfn = 1; # don't add this copy to the list of functions.
|
||||||
|
if ($has_doxygen) {
|
||||||
|
print STDERR "WARNING: Function '$fn' appears to be documented in multiple locations. Only keeping the first one we saw!\n";
|
||||||
|
}
|
||||||
|
push @contents, join("\n", @decllines); # just put the existing declation in as-is.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$skipfn) {
|
||||||
$headerfuncs{$fn} = $str;
|
$headerfuncs{$fn} = $str;
|
||||||
$headerdecls{$fn} = $decl;
|
$headerdecls{$fn} = $decl;
|
||||||
$headerfuncslocation{$fn} = $dent;
|
$headerfuncslocation{$fn} = $dent;
|
||||||
$headerfuncschunk{$fn} = scalar(@contents);
|
$headerfuncschunk{$fn} = scalar(@contents);
|
||||||
$headerfuncshasdoxygen{$fn} = $has_doxygen;
|
$headerfuncshasdoxygen{$fn} = $has_doxygen;
|
||||||
|
|
||||||
push @contents, join("\n", @templines);
|
push @contents, join("\n", @templines);
|
||||||
push @contents, join("\n", @decllines);
|
push @contents, join("\n", @decllines);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
close(FH);
|
close(FH);
|
||||||
|
|
||||||
$headers{$dent} = \@contents;
|
$headers{$dent} = \@contents;
|
||||||
|
|
Loading…
Reference in New Issue