summaryrefslogtreecommitdiff
path: root/lib/sbin/parameter_parser.pl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sbin/parameter_parser.pl')
-rw-r--r--lib/sbin/parameter_parser.pl5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/sbin/parameter_parser.pl b/lib/sbin/parameter_parser.pl
index b07a37f3..495551d7 100644
--- a/lib/sbin/parameter_parser.pl
+++ b/lib/sbin/parameter_parser.pl
@@ -103,6 +103,7 @@ sub parse_param_ccl
local($linenum, $line, $block, $type, $variable, $description, $nerrors);
local($current_friend, $new_ranges, $new_desc);
local($data, %parameter_db);
+ local(%friends);
# The default block is private.
$block = "PRIVATE";
@@ -123,6 +124,8 @@ sub parse_param_ccl
# It's a friend block.
$block .= " \U$current_friend\E";
+# Remember this friend, but make the memory unique.
+ $friends{"\U$current_friend\E"} = 1;
}
}
elsif($line =~ m:(EXTENDS )?\s*(INTEGER|REAL|KEYWORD|STRING)\s*([a-zA-Z]+[a-zA-Z0-9_]*) \s*(\"[^\"]*\"):i)
@@ -197,6 +200,8 @@ sub parse_param_ccl
}
}
+ $parameter_db{"\U$implementations\E FRIEND implementations"} = join(" ", keys %friends);
+
return %parameter_db;
}