summaryrefslogtreecommitdiff
path: root/scripts/kernel-doc
diff options
context:
space:
mode:
authorJérémy Bobbio <lunar@debian.org>2015-07-08 22:06:33 +0300
committerJonathan Corbet <corbet@lwn.net>2015-07-10 20:03:05 +0300
commit2e106e4df28aa264f9ded7e5be3733224f2e4f93 (patch)
treedc49cda9f51d804d2e3e185fd6ff0028198422dd /scripts/kernel-doc
parentd770e558e21961ad6cfdf0ff7df0eb5d7d4f0754 (diff)
downloadlinux-2e106e4df28aa264f9ded7e5be3733224f2e4f93.tar.xz
scripts/kernel-doc: parse kernel-doc deterministically
Regular expressions for highlights in kernel-doc are stored in a Perl hash. These hashes are ordered differently for each Perl run. This will prevent kernel-doc to behave deterministically when parsing “@foo()” as in some runs it will be interpreted as a parameter and in the others it will be interpreted as a function. We now sort the %highlights hash to get the same behavior on every run. Signed-off-by: Jérémy Bobbio <lunar@debian.org> Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'scripts/kernel-doc')
-rwxr-xr-xscripts/kernel-doc2
1 files changed, 1 insertions, 1 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index 9922e66883a5..71ada0073805 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -2587,7 +2587,7 @@ $kernelversion = get_kernel_version();
# generate a sequence of code that will splice in highlighting information
# using the s// operator.
-foreach my $pattern (keys %highlights) {
+foreach my $pattern (sort keys %highlights) {
# print STDERR "scanning pattern:$pattern, highlight:($highlights{$pattern})\n";
$dohighlight .= "\$contents =~ s:$pattern:$highlights{$pattern}:gs;\n";
}