On Tuesday 20 January 2004 14:09, Francois Gouget wrote:

> include/winuser.h: DWORD[CCHILDREN_TITLEBAR+1]: can't parse type
> ('DWORD') ('CCHILDREN_TITLEBAR+1')
> Can't use string ("4") as a SCALAR ref while "strict refs" in use at
> tools/winapi/c_type.pm line 283.

That code is mixing up the use of a variable holding a string
and a variable holding a reference. Put otherwise it forget's
to dereference a scalar ref (similar to a C pointer variable)
before using it. Patch below fixes it.

 -Hans

Changelog:
  Fix misuse of scalar reference variable.

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 15:07:46 -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;
 	    }
 	}
 

Reply via email to