summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2003-04-29 20:52:11 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2003-04-29 20:52:11 +0000
commit5469ec712598532f5c8197e081a2cc222d427d04 (patch)
treeae3e0d9d659a9cdfc0626d9f833808b5de9b664e
parente88f3d288bc582e5b4a78e8b432ae56284c2e117 (diff)
downloadperl_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
-rw-r--r--perl_checker_fake_packages/Gtk2.pm1
-rwxr-xr-xperl_checker_fake_packages/gen.pl15
2 files changed, 12 insertions, 4 deletions
diff --git a/perl_checker_fake_packages/Gtk2.pm b/perl_checker_fake_packages/Gtk2.pm
index 67b7e42..df62941 100644
--- a/perl_checker_fake_packages/Gtk2.pm
+++ b/perl_checker_fake_packages/Gtk2.pm
@@ -1220,6 +1220,7 @@ sub Gtk2::set_text {}
sub Gtk2::set_text_aa_gc { my ($_style, $_state, $_gc) = @_ }
sub Gtk2::set_text_gc { my ($_style, $_state, $_gc) = @_ }
sub Gtk2::set_text_with_mnemonic { my ($_label, $_str) = @_ }
+sub Gtk2::set_tip { my ($_widget, $_tip_text, $o_tip_private) = @_ }
sub Gtk2::set_title { my ($_DUMMY0, $_DUMMY1) = @_ }
sub Gtk2::set_tooltips { my ($_toolbar, $_enable) = @_ }
sub Gtk2::set_transient_for { my ($_DUMMY0, $_DUMMY1) = @_ }
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 };