[PATCH 01/13] scripts: get_abi.pl: Better handle multiple What parameters

From: Mauro Carvalho Chehab
Date: Thu Sep 23 2021 - 09:30:33 EST


Using a comma here is problematic, as some What: expressions
may already contain a comma. So, use \xac character instead.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>
---
scripts/get_abi.pl | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/scripts/get_abi.pl b/scripts/get_abi.pl
index d7aa82094296..48077feea89c 100755
--- a/scripts/get_abi.pl
+++ b/scripts/get_abi.pl
@@ -129,12 +129,12 @@ sub parse_abi {
push @{$symbols{$content}->{file}}, " $file:" . ($ln - 1);

if ($tag =~ m/what/) {
- $what .= ", " . $content;
+ $what .= "\xac" . $content;
} else {
if ($what) {
parse_error($file, $ln, "What '$what' doesn't have a description", "") if (!$data{$what}->{description});

- foreach my $w(split /, /, $what) {
+ foreach my $w(split /\xac/, $what) {
$symbols{$w}->{xref} = $what;
};
}
@@ -239,7 +239,7 @@ sub parse_abi {
if ($what) {
parse_error($file, $ln, "What '$what' doesn't have a description", "") if (!$data{$what}->{description});

- foreach my $w(split /, /,$what) {
+ foreach my $w(split /\xac/,$what) {
$symbols{$w}->{xref} = $what;
};
}
@@ -328,7 +328,7 @@ sub output_rest {

printf ".. _%s:\n\n", $data{$what}->{label};

- my @names = split /, /,$w;
+ my @names = split /\xac/,$w;
my $len = 0;

foreach my $name (@names) {
@@ -492,6 +492,7 @@ sub search_symbols {

my $file = $data{$what}->{filepath};

+ $what =~ s/\xac/, /g;
my $bar = $what;
$bar =~ s/./-/g;

--
2.31.1