diff --git a/examples/aafire.c b/examples/aafire.c
index ae8bd9c..e1decce 100644
--- a/examples/aafire.c
+++ b/examples/aafire.c
@@ -92,7 +92,7 @@ initialize (void)
 {
   int i;
 #ifdef LIBCACA
-  int r[256], g[256], b[256], a[256];
+  unsigned int r[256], g[256], b[256], a[256];
 #endif
 
 #ifdef LIBCACA
@@ -177,7 +177,9 @@ firemain (void)
 #endif
   i = 0;
 #define END (bitmap + XSIZ * YSIZ)
-  for (p = bitmap; p <= (unsigned char *) (END); p += 1)
+  for (p = (unsigned char*)bitmap; 
+       (char*)p <= (( char *) (END)); 
+       p += 1)
     {
       *p = table[(*(p + XSIZ - 1) + *(p + XSIZ + 1) + *(p + XSIZ)) +
 		 (*(p + 2 * XSIZ - 1) + *(p + 2 * XSIZ + 1))];
@@ -205,7 +207,7 @@ drawfire (void)
     loop = rand () % 3, sloop++;;
   i1 = 1;
   i2 = 4 * XSIZ + 1;
-  for (p = (char *) bitmap + XSIZ * (YSIZ + 0);
+  for (p = (unsigned char *) bitmap + XSIZ * (YSIZ + 0);
        p < ((unsigned char *) bitmap + XSIZ * (YSIZ + 1));
        p++, i1 += 4, i2 -= 4)
     {
diff --git a/examples/cacaball.c b/examples/cacaball.c
index 9f91d86..43616ea 100644
--- a/examples/cacaball.c
+++ b/examples/cacaball.c
@@ -52,7 +52,7 @@ static unsigned char metaball[METASIZE * METASIZE];
 
 int main(int argc, char **argv)
 {
-    int r[256], g[256], b[256], a[256];
+    unsigned int r[256], g[256], b[256], a[256];
     float d[METABALLS], di[METABALLS], dj[METABALLS], dk[METABALLS];
     unsigned int x[METABALLS], y[METABALLS];
     struct caca_bitmap *caca_bitmap;
diff --git a/examples/cacamoir.c b/examples/cacamoir.c
index 39df1ca..7c226c9 100644
--- a/examples/cacamoir.c
+++ b/examples/cacamoir.c
@@ -44,7 +44,7 @@ static void draw_line(int, int, char);
 
 int main (int argc, char **argv)
 {
-    int red[256], green[256], blue[256], alpha[256];
+    unsigned int red[256], green[256], blue[256], alpha[256];
     struct caca_bitmap *bitmap;
     int i, x, y, frame = 0, pause = 0;
 
@@ -118,7 +118,7 @@ end:
 
 static void put_disc(int x, int y)
 {
-    char *src = disc + (DISCSIZ / 2 - x) + (DISCSIZ / 2 - y) * DISCSIZ;
+    char *src = ((char*)disc) + (DISCSIZ / 2 - x) + (DISCSIZ / 2 - y) * DISCSIZ;
     int i, j;
 
     for(j = 0; j < YSIZ; j++)
diff --git a/examples/cacaplas.c b/examples/cacaplas.c
index 1341a56..0d783d6 100644
--- a/examples/cacaplas.c
+++ b/examples/cacaplas.c
@@ -47,7 +47,7 @@ static void do_plasma(unsigned char *,
 
 int main (int argc, char **argv)
 {
-    int red[256], green[256], blue[256], alpha[256];
+    unsigned int red[256], green[256], blue[256], alpha[256];
     double r[3], R[6];
     struct caca_bitmap *bitmap;
     int i, x, y, frame = 0, pause = 0;