diff -Naur linux-atm-2.4.1-orig/src/ilmid/atmf_uni.c linux-atm-2.4.1/src/ilmid/atmf_uni.c
--- linux-atm-2.4.1-orig/src/ilmid/atmf_uni.c	2001-09-03 19:41:06.000000000 +0100
+++ linux-atm-2.4.1/src/ilmid/atmf_uni.c	2005-08-13 10:22:44.000000000 +0100
@@ -187,7 +187,7 @@
       newPrefix->name = alloc_t(AsnOid);
       newPrefix->name->octs = alloc(varBindName->octetLen);
       AsnOidCopy(newPrefix->name, varBindName);
-      Q_INSERT_BEFORE((NetPrefixNode *) var->value, newPrefix, prefix);
+      Q_INSERT_BEFORE((*((NetPrefixNode **)&var->value)), newPrefix, prefix);
       if(atmNetPrefix.octs == NULL)
 	{
 	  atmNetPrefix.octetLen = varBindName->octetLen - NETPREFIX_LEN - 2;
@@ -197,7 +197,7 @@
     }
   else if (varbind->value->a.simple->a.number == INVALID && cmp == AsnOidEqual)
     {
-      Q_REMOVE((NetPrefixNode *) var->value, prefix);
+      Q_REMOVE((*((NetPrefixNode **) &var->value)), prefix);
     }
 
   return NOERROR;
diff -Naur linux-atm-2.4.1-orig/src/lib/sapequal.c linux-atm-2.4.1/src/lib/sapequal.c
--- linux-atm-2.4.1-orig/src/lib/sapequal.c	2001-09-03 19:41:05.000000000 +0100
+++ linux-atm-2.4.1/src/lib/sapequal.c	2005-02-06 19:24:37.000000000 +0000
@@ -65,6 +65,7 @@
 	    CHECK(l2.itu.window,a.l2.itu.window > b.l2.itu.window);
 	    break;
 	default:
+	    ;
     }
     switch (a.l3_proto) {
 	case ATM_L3_X25:
@@ -83,6 +84,7 @@
 	    if (a.l3.user != b.l3.user) return 0;
 	    break;
 	default:
+	    ;
     }
     return 1;
 }
diff -Naur linux-atm-2.4.1-orig/src/maint/atmtcp.c linux-atm-2.4.1/src/maint/atmtcp.c
--- linux-atm-2.4.1-orig/src/maint/atmtcp.c	2001-09-03 19:41:06.000000000 +0100
+++ linux-atm-2.4.1/src/maint/atmtcp.c	2005-08-13 10:22:44.000000000 +0100
@@ -60,7 +60,7 @@
 static IN *inputs = NULL;
 static fd_set in_set;
 static int fds = 0;
-static int debug = 0;
+int debug = 0;
 static int links = 0;
 
 
diff -Naur linux-atm-2.4.1-orig/src/maint/enitune.c linux-atm-2.4.1/src/maint/enitune.c
--- linux-atm-2.4.1-orig/src/maint/enitune.c	2001-09-03 19:41:06.000000000 +0100
+++ linux-atm-2.4.1/src/maint/enitune.c	2005-02-06 19:24:37.000000000 +0000
@@ -44,6 +44,7 @@
 		if (*end || mult.rx <= 100) usage(name);
 		break;
 	    default:
+	    ;
 	}
     if (argc != optind+1) usage(name);
     sioc.number = strtol(argv[optind],&end,0);
diff -Naur linux-atm-2.4.1-orig/src/mpoad/p_factory.c linux-atm-2.4.1/src/mpoad/p_factory.c
--- linux-atm-2.4.1-orig/src/mpoad/p_factory.c	2001-09-03 19:41:06.000000000 +0100
+++ linux-atm-2.4.1/src/mpoad/p_factory.c	2005-08-13 10:22:44.000000000 +0100
@@ -31,16 +31,17 @@
             *         beginning at location "addr".
             */
        uint32_t sum = 0;
+       uint16_t *addr16 = addr;
 
         while( count > 1 )  {
            /*  This is the inner loop */
-               sum += * ((uint16_t *) addr)++;
+               sum += * addr16++;
                count -= 2;
        }
 
            /*  Add left-over byte, if any */
        if( count > 0 )
-               sum += * (unsigned char *) addr;
+               sum += * (unsigned char *) addr16;
 
            /*  Fold 32-bit sum to 16 bits */
        while (sum>>16)
diff -Naur linux-atm-2.4.1-orig/src/qgen/qlib.c linux-atm-2.4.1/src/qgen/qlib.c
--- linux-atm-2.4.1-orig/src/qgen/qlib.c	2001-09-03 19:41:05.000000000 +0100
+++ linux-atm-2.4.1/src/qgen/qlib.c	2005-08-13 10:22:44.000000000 +0100
@@ -26,8 +26,6 @@
 #include "op.h"
 
 
-static int debug = 0;
-
 
 void PREFIX(report)(int severity,const char *msg,...)
 {
@@ -830,6 +828,8 @@
 
 #ifdef STANDALONE
 
+int debug = 0;
+
 int main(int argc,const char **argv)
 {
     unsigned char msg[5000]; /* should be large enough for that */
diff -Naur linux-atm-2.4.1-orig/src/qgen/qlib.h linux-atm-2.4.1/src/qgen/qlib.h
--- linux-atm-2.4.1-orig/src/qgen/qlib.h	2001-09-03 19:41:05.000000000 +0100
+++ linux-atm-2.4.1/src/qgen/qlib.h	2005-08-13 10:22:44.000000000 +0100
@@ -23,7 +23,6 @@
 #define Q_FATAL		-1
 
 
-extern int q_dump;
 extern void q_report(int severity,const char *msg,...);
 
 #ifdef DUMP_MODE
diff -Naur linux-atm-2.4.1-orig/src/sigd/proto.c linux-atm-2.4.1/src/sigd/proto.c
--- linux-atm-2.4.1-orig/src/sigd/proto.c	2001-09-03 19:41:06.000000000 +0100
+++ linux-atm-2.4.1/src/sigd/proto.c	2005-02-06 19:24:37.000000000 +0000
@@ -259,6 +259,7 @@
 		break;
 	    }
 	default:
+	    ;
     }
     va_end(ap);
     if ((size = q_close(&dsc)) >= 0) to_signaling(sock->sig,q_buffer,size);
@@ -288,6 +289,7 @@
 		}
 		break;
 	    default:
+	    ;
 	}
 	va_end(ap);
     }
diff -Naur linux-atm-2.4.1-orig/src/switch/debug/debug.c linux-atm-2.4.1/src/switch/debug/debug.c
--- linux-atm-2.4.1-orig/src/switch/debug/debug.c	2001-09-03 19:41:06.000000000 +0100
+++ linux-atm-2.4.1/src/switch/debug/debug.c	2005-08-13 10:22:44.000000000 +0100
@@ -18,7 +18,7 @@
 #define COMPONENT "FAB(debug)"
 
 
-#define PRV(call) ((FAB *) (call)->fab)
+#define PRV(call) (*((FAB **) &(call)->fab))
 
 
 typedef struct _fab {
diff -Naur linux-atm-2.4.1-orig/src/switch/tcp/tcpsw.c linux-atm-2.4.1/src/switch/tcp/tcpsw.c
--- linux-atm-2.4.1-orig/src/switch/tcp/tcpsw.c	2001-09-03 19:41:06.000000000 +0100
+++ linux-atm-2.4.1/src/switch/tcp/tcpsw.c	2005-08-13 10:22:44.000000000 +0100
@@ -27,7 +27,7 @@
 
 #define COMPONENT "FAB(tcp)"
 
-#define PRV(call) ((FAB *) (call)->fab)
+#define PRV(call) (*((FAB **) &(call)->fab))
 
 #define MAX_VCI	1024
 
