That's what I had supposed too, but the client definition depends on the machine
definition of long.

% more x.c
#include <stdlib.h>
#include <stdio.h>
#include <X11/X.h>

int main( int ac, char** av) {
VisualID id;
     printf("sz=%d\n", sizeof(id));
}

% cc -I/usr/openwin/include  x.c
rincewind 125% file a.out
a.out: ELF 32-bit MSB executable SPARC32PLUS Version 1, V8+ Required, dynamically linked, not stripped
% a.out
sz=4


% cc -I/usr/openwin/include -m64 x.c
% file a.out
a.out: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped
% a.out
sz=8

-phil.

Jim Graham wrote:
Please revert this fix and re-read the X11 protocol. Something *else* went wrong for parfait to think that we wanted to parse a 64-bit value there. VisualID values are small numbers and transferred as 32-bit quantities in the protocol. If the typedef ended up with a 64-bit representation from the header files then we have probably not configured something correctly...

            ...jim

On 3/9/11 2:37 AM, [email protected] wrote:
Changeset: 69ec42543dd9
Author:    bae
Date:      2011-03-09 13:08 +0300
URL:       http://hg.openjdk.java.net/jdk7/2d/jdk/rev/69ec42543dd9

7022280: Parfait reports Format string argument mismatch in /jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
Reviewed-by: jgodinez, prr

! src/solaris/native/sun/awt/awt_GraphicsEnv.c


Reply via email to