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