Francois Gouget : winapi: Modify parse_c_typedef() to get rid of the $finished variable.
Alexandre Julliard
julliard at winehq.org
Thu Jul 9 10:56:59 CDT 2009
Module: wine
Branch: master
Commit: def8d4f40157bafd7a4ee0553750252ccfb6d98c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=def8d4f40157bafd7a4ee0553750252ccfb6d98c
Author: Francois Gouget <fgouget at free.fr>
Date: Thu Jul 9 09:52:11 2009 +0200
winapi: Modify parse_c_typedef() to get rid of the $finished variable.
---
tools/winapi/c_parser.pm | 60 ++++++++++++++++-----------------------------
1 files changed, 21 insertions(+), 39 deletions(-)
diff --git a/tools/winapi/c_parser.pm b/tools/winapi/c_parser.pm
index 27f5317..3a00039 100644
--- a/tools/winapi/c_parser.pm
+++ b/tools/winapi/c_parser.pm
@@ -1569,60 +1569,49 @@ sub parse_c_typedef($$$$)
my $line = $$refline;
my $column = $$refcolumn;
- my $type;
-
if (!$self->_parse_c("typedef", \$_, \$line, \$column)) {
return 0;
}
- my $finished = 0;
-
- if ($finished) {
- # Nothing
- } elsif ($self->parse_c_enum(\$_, \$line, \$column)) {
- $finished = 1;
- }
-
- my $kind;
- my $_name;
- my @field_type_names;
- my @field_names;
- my @names;
- if ($finished) {
- # Nothing
- } elsif ($self->parse_c_struct_union(\$_, \$line, \$column,
- \$kind, \$_name, \@field_type_names, \@field_names, \@names))
+ my ($kind, $name, @field_type_names, @field_names, @names);
+ my ($linkage, $type_name);
+ if ($self->parse_c_enum(\$_, \$line, \$column))
+{
+ # Nothing to do
+ }
+ elsif ($self->parse_c_struct_union(\$_, \$line, \$column,
+ \$kind, \$name, \@field_type_names, \@field_names, \@names))
{
my $base_name;
- foreach my $name (@names)
+ foreach my $_name (@names)
{
- if ($name =~ /^\w+$/)
+ if ($_name =~ /^\w+$/)
{
- $base_name = $name;
+ $base_name = $_name;
last;
}
}
- $base_name="$kind $_name" if (!defined $base_name and defined $_name);
+ $base_name="$kind $name" if (!defined $base_name and defined $name);
$base_name=$kind if (!defined $base_name);
- foreach my $name (@names) {
- if ($name =~ /^\w+$/) {
+ foreach my $_name (@names) {
+ if ($_name =~ /^\w+$/) {
my $type = $self->{CREATE_TYPE}();
$type->kind($kind);
- $type->_name($_name);
- $type->name($name);
+ $type->_name($name);
+ $type->name($_name);
$type->field_type_names([@field_type_names]);
$type->field_names([@field_names]);
$self->{FOUND_TYPE}($type);
- } elsif ($name =~ /^(\*+)\s*(?:RESTRICTED_POINTER\s+)?(\w+)$/) {
+ } elsif ($_name =~ /^(\*+)\s*(?:RESTRICTED_POINTER\s+)?(\w+)$/) {
my $type_name = "$base_name $1";
- $name = $2;
+ $_name = $2;
my $type = $self->{CREATE_TYPE}();
$type->kind("");
- $type->name($name);
+ $type->name($_name);
$type->field_type_names([$type_name]);
$type->field_names([""]);
@@ -1631,16 +1620,9 @@ sub parse_c_typedef($$$$)
$self->_parse_c_error($_, $line, $column, "typedef 2");
}
}
-
- $finished = 1;
}
-
- my $linkage;
- my $type_name;
- my $name;
- if ($finished) {
- # Nothing
- } elsif ($self->parse_c_variable(\$_, \$line, \$column, \$linkage, \$type_name, \$name)) {
+ elsif ($self->parse_c_variable(\$_, \$line, \$column, \$linkage, \$type_name, \$name))
+ {
$type_name =~ s/\s+/ /g;
if(defined($type_name) && defined($name)) {
More information about the wine-cvs
mailing list