From ff7d040ae0187819fda46baa672216304c0a20ec Mon Sep 17 00:00:00 2001 From: Mike Kestner Date: Thu, 2 Oct 2003 15:48:36 +0000 Subject: [PATCH] 2003-10-02 Mike Kestner * api/gnome-api.xml : regenerated * parser/gapi2xml.pl : handle enum {...}; Thanks to Martin for identifying the bug and providing a candidate patch. svn path=/trunk/gtk-sharp/; revision=18524 --- ChangeLog | 6 ++++++ api/gnome-api.xml | 20 ++++++++++++++++++++ parser/gapi2xml.pl | 15 ++++++++++----- 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index cd1d76a18..7b729a307 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2003-10-02 Mike Kestner + + * api/gnome-api.xml : regenerated + * parser/gapi2xml.pl : handle enum {...}; Thanks to + Martin for identifying the bug and providing a candidate patch. + 2003-10-01 Mike Kestner * README.generator : updates for new parser script diff --git a/api/gnome-api.xml b/api/gnome-api.xml index b76c3ce8d..0b5bb843d 100644 --- a/api/gnome-api.xml +++ b/api/gnome-api.xml @@ -6259,6 +6259,26 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/parser/gapi2xml.pl b/parser/gapi2xml.pl index 575f62ad7..0968e1eb0 100755 --- a/parser/gapi2xml.pl +++ b/parser/gapi2xml.pl @@ -57,17 +57,22 @@ while ($line = ) { $types{$2} = $1; } elsif ($line =~ /typedef\s+(\w+)\s+(\**)(\w+);/) { $types{$3} = $1 . $2; - } elsif ($line =~ /typedef\s+enum/) { - $ename = $1; + } elsif ($line =~ /(typedef\s+)?\benum\b/) { $edef = $line; while ($line = ) { $edef .= $line; - last if ($line =~ /^}\s*(\w+);/); + last if ($line =~ /^}\s*(\w+)?;/); } $edef =~ s/\n\s*//g; $edef =~ s|/\*.*?\*/||g; - $edef =~ /}\s*(\w+);/; - $ename = $1; + if ($edef =~ /typedef.*}\s*(\w+);/) { + $ename = $1; + } elsif ($edef =~ /^enum\s+(\w+)\s*{/) { + $ename = $1; + } else { + print "Unexpected enum format\n$edef"; + next; + } $edefs{$ename} = $edef; } elsif ($line =~ /typedef\s+\w+\s*\**\s*\(\*\s*(\w+)\)\s*\(/) { $fname = $1;