diff -ruN src/functions.c /tmp/src/functions.c
--- src/functions.c	2002-11-14 23:46:11.000000000 +0100
+++ src.new/functions.c	2006-03-22 11:51:03.000000000 +0100
@@ -59,7 +59,7 @@
 byte ParseCommandLineOptions( int ArgCount, char *ArgValue[], byte *Mode, byte *ReadLength )
 {
   int i;
-  char *ArgString;
+  unsigned char *ArgString;
   byte Node_ID;
   
   Node_ID = 0;  // Default Node_ID used is 0
diff -ruN src/functions.h /tmp/src/functions.h
--- src/functions.h	2001-06-21 01:11:43.000000000 +0200
+++ src.new/functions.h	2006-03-22 11:47:48.000000000 +0100
@@ -16,18 +16,29 @@
  *     byte2 = bits 08-15  (on ix86, bits 16-23)
  *     byte3 = bits 00-07  (on ix86, bits 24-31)
  * *****************************************************************************************************/
+
+#if __BYTE_ORDER == __BIG_ENDIAN
+
+#define QBYTE3( q )  ( (byte) ( q >> 24 ) )
+#define QBYTE2( q )  ( (byte) ( q >> 16 ) )
+#define QBYTE1( q )  ( (byte) ( q >>  8 ) )
+#define QBYTE0( q )  ( (byte) q )
+
+#else
+
 #define QBYTE0( q )  ( (byte) ( q >> 24 ) )
 #define QBYTE1( q )  ( (byte) ( q >> 16 ) ) 
 #define QBYTE2( q )  ( (byte) ( q >>  8 ) )
 #define QBYTE3( q )  ( (byte) q )
 
+#endif
+
 /* Macro pour inverser les octets a l'interieur d'un quadlet */
 #define QSWAP( q )   ( ( q << 24 ) & 0xFF000000 ) + \
                      ( ( q << 8  ) & 0x00FF0000 ) + \
                      ( ( q >> 8  ) & 0x0000FF00 ) + \
                      ( ( q >> 24 ) & 0x000000FF )
 
-
 /* ******************************************************************************************************
  *   ParseCommandLineOptions
  *   Initialisation of the different options passed as arguments on the command line

