Package: libggi
Severity: normal
Tags: patch

When building 'libggi' on amd64 with gcc-4.0,
I get the following error:

vline.c:180:2: warning: #warning honor various ximage format fields here.
vline.c:181:2: warning: #warning 1,2,4-bit support needed
vline.c: In function 'GGI_X_getvline_draw':
vline.c:198: warning: pointer targets in assignment differ in signedness
vline.c:203: error: invalid lvalue in assignment
vline.c:208: warning: pointer targets in assignment differ in signedness
vline.c:215: error: invalid lvalue in assignment
vline.c:224: warning: pointer targets in assignment differ in signedness
vline.c:228: error: invalid lvalue in assignment
make[5]: *** [vline.lo] Error 1
make[5]: Leaving directory `/libggi-2.0.5/display/X'

With the attached patch 'libggi' can be compiled
on amd64 using gcc-4.0.

Regards
Andreas Jochens

diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/ati/mach64/visual.c 
./default/fbdev/ati/mach64/visual.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/ati/mach64/visual.c  2004-05-21 
18:52:14.000000000 +0000
+++ ./default/fbdev/ati/mach64/visual.c 2005-02-27 15:18:29.442156258 +0000
@@ -281,7 +281,7 @@
        }*/
 
        free(priv);
-       ATI_MACH64_PRIV(vis) = NULL;
+       FBDEV_PRIV(vis)->accelpriv = NULL;
 
        ggUnregisterCleanup((ggcleanup_func *)do_cleanup, vis);
 
@@ -313,7 +313,7 @@
        if (priv == NULL) {
                return GGI_ENOMEM;
        }
-       ATI_MACH64_PRIV(vis) = priv;
+       FBDEV_PRIV(vis)->accelpriv = priv;
 
 
        fbdevpriv->mmioaddr = mmap(NULL, fbdevpriv->orig_fix.mmio_len,
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/mga/2164w/crossblit.c 
./default/fbdev/mga/2164w/crossblit.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/mga/2164w/crossblit.c        
2004-05-21 18:52:14.000000000 +0000
+++ ./default/fbdev/mga/2164w/crossblit.c       2005-02-27 15:07:37.000000000 
+0000
@@ -99,7 +99,8 @@
 
                                tmpw -= tmpw2;
                                while (tmpw2--) {
-                                       *(dstptr++) = *(((uint32*)srcptr)++);
+                                       *(dstptr++) = *(((uint32*)srcptr));
+                                       srcptr = (((uint32*)srcptr) + 1);
                                }
                                dstptr = priv->dmaaddr;
                        }
@@ -110,7 +111,8 @@
                        int tmpw = w;
 
                        while (tmpw--) {
-                               *(dstptr++) = *(((uint32*)srcptr)++);
+                               *(dstptr++) = *(((uint32*)srcptr));
+                               srcptr = (((uint32*)srcptr) + 1);
                        }
                        srcptr += srcinc;
                        dstptr = priv->dmaaddr;
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/mga/2164w/visual.c 
./default/fbdev/mga/2164w/visual.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/mga/2164w/visual.c   2004-05-21 
18:52:14.000000000 +0000
+++ ./default/fbdev/mga/2164w/visual.c  2005-02-27 15:12:41.000000000 +0000
@@ -111,7 +111,7 @@
        }
 
        free(priv);
-       M2164W_PRIV(vis) = NULL;
+       FBDEV_PRIV(vis)->accelpriv = NULL;
 
        ggUnregisterCleanup((ggcleanup_func *)do_cleanup, vis);
 
@@ -253,7 +253,7 @@
                vis->opdraw->crossblit = GGI_m2164w_crossblit;
        }
 
-       M2164W_PRIV(vis) = priv;
+       FBDEV_PRIV(vis)->accelpriv = priv;
 
        /* Register cleanup handler */
        ggRegisterCleanup((ggcleanup_func *)do_cleanup, vis);
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/mga/g400/crossblit.c 
./default/fbdev/mga/g400/crossblit.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/mga/g400/crossblit.c 2004-05-21 
18:52:15.000000000 +0000
+++ ./default/fbdev/mga/g400/crossblit.c        2005-02-27 15:15:37.000000000 
+0000
@@ -99,7 +99,8 @@
 
                                tmpw -= tmpw2;
                                while (tmpw2--) {
-                                       *(dstptr++) = *(((uint32*)srcptr)++);
+                                       *(dstptr++) = *(((uint32*)srcptr));
+                                       srcptr = (((uint32*)srcptr) + 1);
                                }
                                dstptr = priv->dmaaddr;
                        }
@@ -110,7 +111,8 @@
                        int tmpw = w;
 
                        while (tmpw--) {
-                               *(dstptr++) = *(((uint32*)srcptr)++);
+                               *(dstptr++) = *(((uint32*)srcptr));
+                               srcptr = (((uint32*)srcptr) + 1);
                        }
                        srcptr += srcinc;
                        dstptr = priv->dmaaddr;
diff -urN ../tmp-orig/libggi-2.0.5/default/fbdev/mga/g400/visual.c 
./default/fbdev/mga/g400/visual.c
--- ../tmp-orig/libggi-2.0.5/default/fbdev/mga/g400/visual.c    2004-05-21 
18:52:15.000000000 +0000
+++ ./default/fbdev/mga/g400/visual.c   2005-02-27 15:17:47.000000000 +0000
@@ -117,7 +117,7 @@
        }
 
        free(priv);
-       MGA_G400_PRIV(vis) = NULL;
+       FBDEV_PRIV(vis)->accelpriv = NULL;
 
        ggUnregisterCleanup((ggcleanup_func *)do_cleanup, vis);
 
@@ -259,7 +259,7 @@
          /* vis->opdraw->crossblit = GGI_mga_g400_crossblit; */
        }
 
-       MGA_G400_PRIV(vis) = priv;
+       FBDEV_PRIV(vis)->accelpriv = priv;
 
        /* Register cleanup handler */
        ggRegisterCleanup((ggcleanup_func *)do_cleanup, vis);
diff -urN ../tmp-orig/libggi-2.0.5/default/linear_32/crossblit.c 
./default/linear_32/crossblit.c
--- ../tmp-orig/libggi-2.0.5/default/linear_32/crossblit.c      2004-05-21 
18:52:18.000000000 +0000
+++ ./default/linear_32/crossblit.c     2005-02-27 15:04:26.000000000 +0000
@@ -93,7 +93,9 @@
                int tmpw = w;
  
                while (tmpw--) {
-                       *(((uint32*)dstp)++) = *(((uint32*)srcp)++);
+                       *(((uint32*)dstp)) = *(((uint32*)srcp));
+                       dstp = (((uint32*)dstp) + 1);
+                       srcp = (((uint32*)srcp) + 1);
                }
                srcp += srcstride;
                dstp += dststride;
diff -urN ../tmp-orig/libggi-2.0.5/display/X/box.c ./display/X/box.c
--- ../tmp-orig/libggi-2.0.5/display/X/box.c    2004-05-21 18:52:20.000000000 
+0000
+++ ./display/X/box.c   2005-02-27 15:01:13.000000000 +0000
@@ -232,7 +232,7 @@
                                *((uint8 *)data + j + 1) = *(ximgptr + j);
                        }
                        ximgptr += ximg->bytes_per_line;
-                       ((uint8 *)data) += ximg->width * 2;
+                       data = ((uint8 *)data) + ximg->width * 2;
                }
        }
        else if (ximg->bits_per_pixel == 32) {
@@ -247,7 +247,7 @@
                                *((uint8 *)data + j + 3) = *(ximgptr + j);
                        }
                        ximgptr += ximg->bytes_per_line;
-                       ((uint8 *)data) += ximg->width * 4;
+                       data = ((uint8 *)data) + ximg->width * 4;
                }
        }
        else {
@@ -260,7 +260,7 @@
                while (h--) {
                        memcpy(data, ximgptr, (w * ximg->bits_per_pixel)/8);
                        ximgptr += ximg->bytes_per_line;
-                       ((uint8 *)data) += 
+                       data = ((uint8 *)data) + 
                          ximg->width * ximg->bits_per_pixel/8;
                }
        }
diff -urN ../tmp-orig/libggi-2.0.5/display/X/vline.c ./display/X/vline.c
--- ../tmp-orig/libggi-2.0.5/display/X/vline.c  2004-05-21 18:52:21.000000000 
+0000
+++ ./display/X/vline.c 2005-02-27 15:00:47.000000000 +0000
@@ -200,7 +200,7 @@
                        *((uint8 *)data) = *(ximgptr + 1);
                        *((uint8 *)data + 1) = *(ximgptr);
                        ximgptr += ximg->bytes_per_line;
-                       ((uint8 *)data) += 2;
+                       data = ((uint8 *)data) + 2;
                }
        }
        else if (ximg->bits_per_pixel == 32) {
@@ -212,7 +212,7 @@
                        *((uint8 *)data + 2) = *(ximgptr + 1);
                        *((uint8 *)data + 3) = *(ximgptr);
                        ximgptr += ximg->bytes_per_line;
-                       ((uint8 *)data) += 4;
+                       data = ((uint8 *)data) + 4;
                }
        }
        else {
@@ -225,7 +225,7 @@
                while (h--) {
                        memcpy(data, ximgptr, ximg->bits_per_pixel/8);
                        ximgptr += ximg->bytes_per_line;
-                       ((uint8 *)data) += ximg->bits_per_pixel/8;
+                       data = ((uint8 *)data) + ximg->bits_per_pixel/8;
                }
        }
        XDestroyImage(ximg);


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to