On Tuesday 20 January 2004 11:02, Francois Gouget wrote:
> Arg. Spoke a bit too quick in my previous email. This patch introduces a
> new problem. When verifying the generated.c files I see a lot of diffs
Well, it merely uncovers two more cases of reference variable
misuse. Revised patch attached.
-Hans
Index: tools/winapi/c_type.pm
===================================================================
RCS file: /home/wine/wine/tools/winapi/c_type.pm,v
retrieving revision 1.7
diff -u -r1.7 c_type.pm
--- tools/winapi/c_type.pm 12 Nov 2002 01:05:17 -0000 1.7
+++ tools/winapi/c_type.pm 20 Jan 2004 20:41:38 -0000
@@ -264,14 +264,14 @@
my $bits = $3;
}
my $base_size = &$$find_size($base_type_name);
- my $align = &$$find_align($base_type_name);
+ $$align = &$$find_align($base_type_name);
- if (defined($align)) {
- $align = $pack if $align > $pack;
- $max_field_align = $align if $align > $max_field_align;
+ if (defined($$align)) {
+ $$align = $pack if $$align > $pack;
+ $max_field_align = $$align if $$align > $max_field_align;
- if ($offset % $align != 0) {
- $offset = (int($offset / $align) + 1) * $align;
+ if ($offset % $$align != 0) {
+ $offset = (int($offset / $$align) + 1) * $$align;
}
}
@@ -289,14 +289,14 @@
$offset_bits = 0;
}
- $$$field_aligns[$n] = $align;
+ $$$field_aligns[$n] = $$align;
$$$field_base_sizes[$n] = $base_size;
$$$field_offsets[$n] = $offset;
$$$field_sizes[$n] = $type_size;
$offset += $type_size;
} else {
- $$$field_aligns[$n] = $align;
+ $$$field_aligns[$n] = $$align;
$$$field_base_sizes[$n] = $base_size;
$$$field_offsets[$n] = $offset;
$$$field_sizes[$n] = $type_size;