diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2003-04-29 20:52:11 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2003-04-29 20:52:11 +0000 |
commit | 5469ec712598532f5c8197e081a2cc222d427d04 (patch) | |
tree | ae3e0d9d659a9cdfc0626d9f833808b5de9b664e /perl_checker_fake_packages/gen.pl | |
parent | e88f3d288bc582e5b4a78e8b432ae56284c2e117 (diff) | |
download | perl_checker-5469ec712598532f5c8197e081a2cc222d427d04.tar perl_checker-5469ec712598532f5c8197e081a2cc222d427d04.tar.gz perl_checker-5469ec712598532f5c8197e081a2cc222d427d04.tar.bz2 perl_checker-5469ec712598532f5c8197e081a2cc222d427d04.tar.xz perl_checker-5469ec712598532f5c8197e081a2cc222d427d04.zip |
fix check_usage on multiple lines
Diffstat (limited to 'perl_checker_fake_packages/gen.pl')
-rwxr-xr-x | perl_checker_fake_packages/gen.pl | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/perl_checker_fake_packages/gen.pl b/perl_checker_fake_packages/gen.pl index 4aa5c0c..0a42db2 100755 --- a/perl_checker_fake_packages/gen.pl +++ b/perl_checker_fake_packages/gen.pl @@ -16,14 +16,15 @@ sub gtk2 { each_index { if (/^\s*sub\s+(\w+)/) { my $fun = $1; + my $line = $::i; #- obtain first statement of function local $_ = $_; if (/^\s*sub\s+\w+\s*{?\s*$/) { if ($contents[$::i+1] =~ /^\s*{\s*$/) { - $_ .= $contents[$::i+1] . $contents[$::i+2]; + $_ .= $contents[++$line] . $contents[++$line]; } else { - $_ .= $contents[$::i+1]; + $_ .= $contents[++$line]; } } @@ -60,9 +61,15 @@ sub gtk2 { #- methods with variable list of arguments (which branch to different XS functions) #- Gtk2::_Helpers::check_usage(\@_, [ 'Gtk2::GSList group' ], [ 'Gtk2::GSList group', 'string label' ]); - if (/Gtk2::_Helpers::check_usage\(\\\@_, (.*)\);/) { + if (/Gtk2::_Helpers::check_usage\(\\\@_, (.*)/) { + my $various = $1; + while ($various !~ /\)\s*;\s*$/) { + $various .= $contents[++$line]; + } + $various =~ s/\)\s*;\s*$//; + my $subroutine = ' { my ('; - my @various = split /\]\s*,/, $1; + my @various = split /\]\s*,/, $various; s/[\[\]]//g foreach @various; my @mandatory = split /,/, $various[0]; my $proto2varname = sub { $_[0] =~ /\s*'\s*\S+\s+(.*)\s*'/; $1 }; |