From f08fee48350a3a081e9ea63dd52b728eef8fe958 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Fri, 20 Feb 2004 15:54:55 +0000 Subject: - $rm_quote_silent was expecting $_ whereas we passed a parameter - $rm_quote now expects a parameter - add the line number in the data we collect - modify to_string() to accept this 3rd element --- convert/merge2pcitable.pl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'convert') diff --git a/convert/merge2pcitable.pl b/convert/merge2pcitable.pl index fd82c19e..71f6fa91 100755 --- a/convert/merge2pcitable.pl +++ b/convert/merge2pcitable.pl @@ -36,7 +36,7 @@ sub dummy_module { sub to_string { my ($id, $driver) = @_; - @$driver == 2 or error("error: to_string $id"); + @$driver >= 2 or error("error: to_string $id"); my ($module, $text) = map { qq("$_") } @$driver; my ($id1, $id2, $subid1, $subid2) = map { "0x$_" } ($id =~ /(....)/g); join "\t", $id1, $id2, "$subid1 $subid2" ne "0xffff 0xffff" ? ($subid1, $subid2) : (), $module, $text; @@ -48,8 +48,9 @@ sub read_pcitable { my ($f, $strict) = @_; my %drivers; my $line = 0; - my $rm_quote_silent = sub { s/^"//; s/"$//; $_ }; + my $rm_quote_silent = sub { local ($_) = @_; s/^"//; s/"$//; $_ }; my $rm_quote = sub { + local ($_) = @_; s/^"// or error("$f:$line: missing left quote"); s/"$// or error("$f:$line: missing right quote"); /"/ && $strict and error("$f:$line: bad double quote"); @@ -90,7 +91,7 @@ sub read_pcitable { lc($_); } $id1, $id2, $subid1, $subid2; $drivers{$id} && $strict and error("$f:$line: multiple entry for $id (skipping $module $text)"); - $drivers{$id} ||= [ map &$rm_quote, $module, $text ]; + $drivers{$id} ||= [ $rm_quote->($module), $rm_quote->($text), $line ]; } else { die "$f:$line: bad line\n"; } -- cgit v1.2.1