From: Ethan M. <merritt@u.washington.edu> - 2008-09-08 18:06:46
|
On Sunday 07 September 2008 23:48:20 Shigeharu TAKENO wrote: > shige 09/08 2008 > ---------------- > > I found some points that seem to be misprints and problems in CVS > version. > > > 2) problems (src/graph3d.c and term/cairo.trm) > > Some compile errors occur by gcc-3.4.3 on Solaris 9. In > /usr/include/sys/types.h of Solaris there is uint32_t but is not > u_int32_t. > > ----- From here ----- > diff -uN src/graph3d.c.ORG src/graph3d.c > --- src/graph3d.c.ORG Mon Sep 8 10:40:48 2008 > +++ src/graph3d.c Mon Sep 8 13:39:23 2008 > @@ -661,7 +661,7 @@ > > /* Allow 'set view equal_axes' to shrink rendered length of either X or Y axis */ > if (aspect_ratio_3D == 1.0) { > - xscale3d = MIN(xscale3d,yscale3d); > + xscale3d = GPMIN(xscale3d,yscale3d); > yscale3d = xscale3d; > } Petr has added that to CVS. Thanks. > diff -uN term/cairo.trm.ORG term/cairo.trm > --- term/cairo.trm.ORG Mon Sep 8 10:40:53 2008 > +++ term/cairo.trm Mon Sep 8 13:31:18 2008 > @@ -505,7 +505,11 @@ > int stride = cairo_image_surface_get_stride(surface); > int i, j, x1 = 0, y1 = 0, x2 = width, y2 = height; > > +#ifndef __sun > typedef u_int32_t uint32; > +#else > + typedef uint32_t uint32; > +#endif > uint32 BG = ~0x0; > uint32 *row; Yeah. That's what I was worried about when I commented on the pngcairo cropping patch. I don't think it is sufficient to test specifically for __sun. It will break for other compilers and other platforms as well. That typedef is simply wrong. It needs to take the type from somewhere in the cairo headers. Or, at worst, the configure script needs to check for legal types. Note that initializing BG = ~0x0 is also wrong, since it assumes that the background is always solid white. -- Ethan A Merritt |