Francois Gouget : winapi: Modify parse_c_typedef() to get rid of the $finished variable.
Module: wine Branch: master Commit: def8d4f40157bafd7a4ee0553750252ccfb6d98c URL: http://source.winehq.org/git/wine.git/?a=commit;h=def8d4f40157bafd7a4ee05537... Author: Francois Gouget <fgouget(a)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)) {
participants (1)
-
Alexandre Julliard