diff -ruN fbbsrc.704j/include/fbb_dec.h fbbsrc.704l/include/fbb_dec.h
--- fbbsrc.704j/include/fbb_dec.h	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/include/fbb_dec.h	2006-04-29 22:03:37.000000000 +0200
@@ -108,7 +108,7 @@
 	extern void format_ffblk (struct ffblk *blk, struct dirent *dir);
 	extern void InfoMessage (int, char *, char *);
 	extern void InitText (char *);
-	extern void justifie (unsigned char *);
+	extern void justifie (uchar *);
 	extern void kill_rzsz (int voie);
 	extern void maj_menu_options (void);
 	extern void orb_options(void);
@@ -707,12 +707,12 @@
 	extern int pk_sonde (int, int, char *, int *);
 	extern int pos_voie (int);
 	extern int premier_enrg (char *);
-	extern int print_fwd(int, unsigned char, unsigned char, unsigned char, int);
+	extern int print_fwd(int, uchar, uchar, uchar, int);
 	extern int ptctrx (int, char *);
 	extern int putxy (int, int, int);
 	extern int put_annonce (void);
 	extern int put_message (void);
-	extern int put_ui (unsigned char *, int, int);
+	extern int put_ui (uchar *, int, int);
 	extern int question (int);
 	extern int quick_look (void);
 	extern int rcv_drv (int *, int *, int *, char *, int *, ui_header *);
@@ -863,8 +863,8 @@
 	extern unsigned search_wp_record (lcall, int, unsigned);
 	extern unsigned xms_free (void);
 
-	extern unsigned char *ansi_to_ibm(unsigned char *buffer, int len);
-	extern unsigned char *ibm_to_ansi(unsigned char *buffer, int len);
+	extern uchar  *ansi_to_ibm(uchar *buffer, int len);
+	extern uchar  *ibm_to_ansi(uchar *buffer, int len);
 
 	unsigned short xendien (unsigned short);
 	unsigned long xendienl (unsigned long);
@@ -1161,7 +1161,7 @@
 	extern void mark_fwd (int voie, char mode);
 	extern void mark_reverse_bid (bullist *, int, int *);
 	extern void marque_obuf (void);
-	extern void MD5String (unsigned char *dest, unsigned char *source);
+	extern void MD5String (uchar *dest, uchar *source);
 	extern void mbl_disbul (void);
 	extern void mbl_emul (void);
 	extern void mbl_info (void);
@@ -1225,8 +1225,8 @@
 	extern void prompt (int, int);
 	extern void prompt_dos (void);
 	extern void put_mess_fwd (char);
-	extern void put_nr (unsigned char *, int, int);
-	extern void put_rose (unsigned char *, int, int);
+	extern void put_nr (uchar *, int, int);
+	extern void put_rose (uchar *, int, int);
 	extern void q_mark (void);
 	extern void qraloc (void);
 	extern void rcv_rev_fwd (void);
@@ -1263,7 +1263,7 @@
 	extern void send_reply (void);
 	extern void send_tnc (int, int);
 	extern void send_wp_mess (void);
-	extern void sendeot (unsigned char);
+	extern void sendeot (uchar);
 	extern void set_binary (int, int);
 	extern void set_bit_fwd (char *, int);
 	extern void set_busy (void);
diff -ruN fbbsrc.704j/include/fbb_serv.h fbbsrc.704l/include/fbb_serv.h
--- fbbsrc.704j/include/fbb_serv.h	2003-09-07 17:53:31.000000000 +0200
+++ fbbsrc.704l/include/fbb_serv.h	2006-04-29 22:05:20.000000000 +0200
@@ -135,7 +135,7 @@
 
 #define LINT_ARGS
 
-#define uchar unsigned char
+#define uchar char
 #define lcall unsigned long
 
 #define ISGRAPH(c)	(!iscntrl(c) && !isspace(c))
diff -ruN fbbsrc.704j/include/md5.h fbbsrc.704l/include/md5.h
--- fbbsrc.704j/include/md5.h	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/include/md5.h	2006-04-29 16:20:25.000000000 +0200
@@ -48,14 +48,16 @@
 documentation and/or software.
  */
 
+#include <serv.h>
+
 /* MD5 context. */
 typedef struct {
   UINT4 state[4];                                   /* state (ABCD) */
   UINT4 count[2];        /* number of bits, modulo 2^64 (lsb first) */
-  unsigned char buffer[64];                         /* input buffer */
+  uchar buffer[64];                         /* input buffer */
 } MD5_CTX;
 
 void MD5Init PROTO_LIST ((MD5_CTX *));
 void MD5Update PROTO_LIST
-  ((MD5_CTX *, unsigned char *, unsigned int));
-void MD5Final PROTO_LIST ((unsigned char [16], MD5_CTX *));
+  ((MD5_CTX *, uchar *, unsigned int));
+void MD5Final PROTO_LIST ((uchar [16], MD5_CTX *));
diff -ruN fbbsrc.704j/include/serv.h fbbsrc.704l/include/serv.h
--- fbbsrc.704j/include/serv.h	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/include/serv.h	2006-04-29 21:15:49.000000000 +0200
@@ -139,6 +139,8 @@
 #endif
 */
 
+extern int filter (char *, char *, int , char * , char *);
+
 #define CM_OPTIONJUSTIF   0
 #define CM_OPTIONALARM    1
 #define CM_OPTIONCALL     2
diff -ruN fbbsrc.704j/include/version.h fbbsrc.704l/include/version.h
--- fbbsrc.704j/include/version.h	2003-09-07 18:05:00.000000000 +0200
+++ fbbsrc.704l/include/version.h	2006-04-29 01:51:14.000000000 +0200
@@ -26,7 +26,7 @@
 
 #define MAJEUR 7
 #define MINEUR 04
-#define LETTRE 'j'
+#define LETTRE 'l'
 
 /* "pre" versions */
 /* #define PRE  3 */
diff -ruN fbbsrc.704j/install_sh fbbsrc.704l/install_sh
--- fbbsrc.704j/install_sh	2003-09-07 17:18:30.000000000 +0200
+++ fbbsrc.704l/install_sh	2006-04-29 20:38:04.000000000 +0200
@@ -4,7 +4,7 @@
 DATADIR=$DESTDIR/var/ax25/fbb
 DOSDIR=$DATADIR/fbbdos
 LIBDIR=$DESTDIR/usr/lib/fbb
-SBINDIR=$DESTDIR/usr/sbin
+SBINDIR=$DESTDIR/usr/local/sbin
 
 fbb_tree()
 {
diff -ruN fbbsrc.704j/src/clr_user.c fbbsrc.704l/src/clr_user.c
--- fbbsrc.704j/src/clr_user.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/clr_user.c	2006-04-29 19:10:55.000000000 +0200
@@ -27,6 +27,7 @@
 #define ENGLISH
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <ctype.h>
 #include <time.h>
 #include "version.h"
diff -ruN fbbsrc.704j/src/console.c fbbsrc.704l/src/console.c
--- fbbsrc.704j/src/console.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/console.c	2006-04-29 16:02:49.000000000 +0200
@@ -116,10 +116,10 @@
 	dde_trait = 1;
 }
 
-void justifie (unsigned char *buffer)
+void justifie (uchar *buffer)
 {
-	unsigned char ligne[83];
-	unsigned char *ptr, *ptri, *ptro;
+	uchar ligne[83];
+	uchar *ptr, *ptri, *ptro;
 	int nb_sp = 0;
 	int nb_mot = 1;
 	int nb_car = 0;
@@ -274,12 +274,12 @@
 }
 
 
-void put_nr (unsigned char *texte, int attr, int nbcar)
+void put_nr (uchar *texte, int attr, int nbcar)
 {
-	unsigned char chaine[400];
-	unsigned char *ptr = chaine;
-	unsigned char *scan = texte;
-	unsigned char ch;
+	uchar chaine[400];
+	uchar *ptr = chaine;
+	uchar *scan = texte;
+	uchar ch;
 	int i, nb, pcode, txt = 0;
 
 	if (nbcar > 256)
@@ -497,11 +497,11 @@
 	}
 }
 
-int put_ui (unsigned char *texte, int attr, int nb)
+int put_ui (uchar *texte, int attr, int nb)
 {
-	unsigned char buf[600];
-	unsigned char *ptr = buf;
-	unsigned char c;
+	uchar buf[600];
+	uchar *ptr = buf;
+	uchar c;
 	int pos = 0;
 
 	deb_io ();
@@ -911,7 +911,7 @@
 
 #define MEMINFO_FILE "/proc/meminfo"
 
-static char buf[300];
+static char buf[1000];
 
 #define MAX_ROW 3				/* these are a little liberal for flexibility */
 #define MAX_COL 7
@@ -947,6 +947,29 @@
 	for (i = 0; i < MAX_ROW; i++)	/* zero unassigned fields */
 		for (j = 0; j < MAX_COL; j++)
 			row[i][j] = 0;
+	if (!strncmp("MemTotal:", p, 8)) {
+		printf("Asuming 2.6 Kernel\n");
+		while (*p && !isdigit(*p)) p++;
+		l = sscanf(p, "%u%n", &row[meminfo_main][meminfo_total], &k);
+		p += k;
+		while (*p && !strncmp("MemFree:", p, 8)) p++;
+		while (*p && !isdigit(*p)) p++;
+		l = sscanf(p, "%u%n", &row[meminfo_main][meminfo_free], &k);
+		p += k;
+		while (*p && !strncmp("Buffers:", p, 8)) p++;
+		while (*p && !isdigit(*p)) p++;
+		l = sscanf(p, "%u%n", &row[meminfo_main][meminfo_buffers], &k);
+		p += k;
+		while (*p && !strncmp("Cached:", p, 7)) p++;
+		while (*p && !isdigit(*p)) p++;
+		l = sscanf(p, "%u%n", &row[meminfo_main][meminfo_cached], &k);
+		p += k;
+		while (*p && !strncmp("SwapFree:", p, 9)) p++;
+		while (*p && !isdigit(*p)) p++;
+		l = sscanf(p, "%u%n", &row[meminfo_swap][meminfo_free], &k);
+		p += k;
+		return row;
+	}
 	for (i = 0; i < MAX_ROW && *p; i++)
 	{							/* loop over rows */
 		while (*p && !isdigit (*p))
diff -ruN fbbsrc.704j/src/dos_1.c fbbsrc.704l/src/dos_1.c
--- fbbsrc.704j/src/dos_1.c	2003-09-07 19:14:42.000000000 +0200
+++ fbbsrc.704l/src/dos_1.c	2006-04-29 20:49:10.000000000 +0200
@@ -1114,14 +1114,14 @@
 
 		for (pvoie->vdisk = 0; pvoie->vdisk < 9; ++pvoie->vdisk)
 		{
-			if (*PATH[pvoie->vdisk] == '\0')
+			if (*PATH[(int)pvoie->vdisk] == '\0')
 				continue;
 
 			if ((pvoie->vdisk == 8) && (*pvoie->finf.priv == '\0'))
 				continue;
 
 			/* strcpy (cur_dir, tot_path ("\0", "\\")); */
-			strcpy(cur_dir, PATH[pvoie->vdisk]);
+			strcpy(cur_dir, PATH[(int)pvoie->vdisk]);
 			lg = strlen(cur_dir);
 
 			where_loop = 0;
diff -ruN fbbsrc.704j/src/drv_ded.c fbbsrc.704l/src/drv_ded.c
--- fbbsrc.704j/src/drv_ded.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/drv_ded.c	2006-04-29 19:26:22.000000000 +0200
@@ -46,7 +46,7 @@
 
 int rcv_ded (int *port, int *canal, int *cmd, char *buffer, int *len, ui_header * ui)
 {
-	int lgbuf;
+	int lgbuf=0;
 	int can = p_port[*port].cur_can & 0xff;
 	int code;
 	int valid;
diff -ruN fbbsrc.704j/src/drv_hst.c fbbsrc.704l/src/drv_hst.c
--- fbbsrc.704j/src/drv_hst.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/drv_hst.c	2006-04-29 19:27:39.000000000 +0200
@@ -407,7 +407,7 @@
 
 int rcv_hst (int *port, int *canal, int *cmd, char *buffer, int *len, ui_header * ui)
 {
-	int lgbuf;
+	int lgbuf=0;
 	int can = p_port[*port].cur_can & 0xff;
 	int code;
 	int valid;
diff -ruN fbbsrc.704j/src/drv_pop.c fbbsrc.704l/src/drv_pop.c
--- fbbsrc.704j/src/drv_pop.c	2003-09-07 17:39:46.000000000 +0200
+++ fbbsrc.704l/src/drv_pop.c	2006-04-29 19:34:15.000000000 +0200
@@ -283,7 +283,7 @@
 	{
 		int new;
 		int i;
-		int addr_len;
+		unsigned addr_len;
 		struct sockaddr_in sock_addr;
 		addr_len = sizeof (sock_addr);
 
@@ -339,7 +339,7 @@
 	{
 		int new;
 		int i;
-		int addr_len;
+		unsigned addr_len;
 		struct sockaddr_in sock_addr;
 		addr_len = sizeof (sock_addr);
 
@@ -393,7 +393,7 @@
 	if (res & READ_EVENT)
 	{
 		int new;
-		int addr_len;
+		unsigned addr_len;
 		struct sockaddr_in sock_addr;
 		addr_len = sizeof (sock_addr);
 
@@ -1976,7 +1976,7 @@
 	int ok = 0;
 	char *ptr = buffer + 4;
 	char *callsign = tport[port].tcan[can].callsign.call;
-	int addr_len;
+	unsigned addr_len;
 	struct sockaddr_in *address;
 	struct sockaddr_in sock_addr;
 
@@ -2020,7 +2020,7 @@
 	int ok = 0;
 	char *ptr = buffer + 4;
 	char *callsign;
-	int addr_len;
+	unsigned addr_len;
 	struct sockaddr_in *address;
 	struct sockaddr_in sock_addr;
 
@@ -2605,7 +2605,7 @@
 {
 	char *callsign;
 	char *ptr = buffer;
-	int addr_len;
+	unsigned addr_len;
 	struct sockaddr_in *address;
 	struct sockaddr_in sock_addr;
 
@@ -2664,7 +2664,7 @@
 static int smtp_cmd_pass(int port, int can, char *buffer, int base64)
 {
 	char *ptr = buffer;
-	int addr_len;
+	unsigned addr_len;
 	struct sockaddr_in *address;
 	struct sockaddr_in sock_addr;
 
@@ -3215,7 +3215,7 @@
     103,104,105,106, 107,108,109,110, 111,112,113,114, 115,116,117,118,
     119,120,121,122,  48, 49, 50, 51,  52, 53, 54, 55,  56, 57, 43, 47,
 };
-#define B64(ch)  (to_64[(unsigned char)((ch) & 0x3f)])
+#define B64(ch)  (to_64[(int)(uchar)((ch) & 0x3f)])
 
 /*
  * Table for decoding base64
@@ -3238,7 +3238,7 @@
     255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255,
     255,255,255,255, 255,255,255,255, 255,255,255,255, 255,255,255,255,
 };
-#define C64(ch)  (fm_64[(unsigned char)(ch)])
+#define C64(ch)  (fm_64[(int)(uchar)(ch)])
 
 static char *str_to_base64(char *str)
 {
diff -ruN fbbsrc.704j/src/drv_sock.c fbbsrc.704l/src/drv_sock.c
--- fbbsrc.704j/src/drv_sock.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/drv_sock.c	2006-04-29 18:13:48.000000000 +0200
@@ -204,7 +204,7 @@
 	{
 		int new;
 		int i;
-		int addr_len;
+		unsigned addr_len;
 		union sockaddr_ham addr;
 
 		addr_len = sizeof (union sockaddr_ham);
@@ -283,7 +283,7 @@
 		if (scan[can].event == CONN_EVENT)
 		{
 			/* Appel sortant connecte */
-			int addr_len;
+			unsigned addr_len;
 			union sockaddr_ham addr;
 			int ret;
 
@@ -670,7 +670,7 @@
 {
 	struct sockaddr sa;
 	struct ifreq ifr;
-	int asize;
+	unsigned asize;
 
 	/*   struct ifreq ifr; */
 	char buf[1500];
@@ -1468,7 +1468,7 @@
 
 static int sock_stat (int canal, stat_ch * ptr)
 {
-	int lg;
+	unsigned lg;
 	int val;
 	int tries = 0;
 	struct ax25_info_struct ax25info;
@@ -1700,7 +1700,7 @@
 {
 	int p;
 	int val;
-	int plen;
+	unsigned plen;
 	int backoff;
 	char *pn = NULL;
 	char User[80];
diff -ruN fbbsrc.704j/src/drv_tcp.c fbbsrc.704l/src/drv_tcp.c
--- fbbsrc.704j/src/drv_tcp.c	2003-09-07 17:51:38.000000000 +0200
+++ fbbsrc.704l/src/drv_tcp.c	2006-04-29 18:15:17.000000000 +0200
@@ -240,7 +240,7 @@
 		"\377\374\001\000Telnet Initialisation string                                   ";
 
 		int new;
-		int addr_len;
+		unsigned addr_len;
 		struct sockaddr_in sock_addr;
 		addr_len = sizeof (sock_addr);
 
@@ -442,7 +442,7 @@
 				int lg;
 				char *ptr;
 				char *address;
-				int addr_len;
+				unsigned addr_len;
 				struct sockaddr_in sock_addr;
 
 				if (nb)
@@ -1610,7 +1610,7 @@
 	fd_set tcp_read;
 	struct timeval to;
 	struct sockaddr_in sock_addr;
-	int addr_len = sizeof (sock_addr);
+	unsigned addr_len = sizeof (sock_addr);
 	char buf[1024];
 	char *ptr;
 	char *p;
Les fichiers fbbsrc.704j/src/fbbgetconf et fbbsrc.704l/src/fbbgetconf sont différents.
diff -ruN fbbsrc.704j/src/fbb_orb.c fbbsrc.704l/src/fbb_orb.c
--- fbbsrc.704j/src/fbb_orb.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/fbb_orb.c	2006-04-29 18:29:27.000000000 +0200
@@ -110,7 +110,7 @@
 
 static int orb_new_connection (int fd)
 {
-	int addr_len;
+	unsigned addr_len;
 	struct sockaddr_in sock_addr;
 	OrbClient *sptr;
 
diff -ruN fbbsrc.704j/src/forward.c fbbsrc.704l/src/forward.c
--- fbbsrc.704j/src/forward.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/forward.c	2006-04-29 19:37:26.000000000 +0200
@@ -336,7 +336,7 @@
 			break;
 		case 'L':
 			ch_niv3 (8);
-			pvoie->mess_egal[pvoie->nb_egal] = ptmes->numero;
+			pvoie->mess_egal[(int)pvoie->nb_egal] = ptmes->numero;
 			++pvoie->nb_egal;
 			sprintf (s, "L B:%s V:%s", ptmes->bid, pvoie->sta.indicatif.call);
 			fbb_log (voiecur, 'M', s);
@@ -501,7 +501,7 @@
 			break;
 		case 'L':
 			ch_niv3 (4);
-			pvoie->mess_egal[pvoie->nb_egal] = ptmes->numero;
+			pvoie->mess_egal[(int)pvoie->nb_egal] = ptmes->numero;
 			++pvoie->nb_egal;
 			sprintf (s, "L B:%s V:%s", ptmes->bid, pvoie->sta.indicatif.call);
 			fbb_log (voiecur, 'M', s);
diff -ruN fbbsrc.704j/src/initfwd.c fbbsrc.704l/src/initfwd.c
--- fbbsrc.704j/src/initfwd.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/initfwd.c	2006-04-29 01:51:14.000000000 +0200
@@ -32,7 +32,7 @@
 
 #define NBCAS 3
 
-static int niveau;
+/*static int niveau;*/
 static int etat_bloc;
 static int nbif[NBCAS];
 
diff -ruN fbbsrc.704j/src/Makefile fbbsrc.704l/src/Makefile
--- fbbsrc.704j/src/Makefile	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/Makefile	2006-04-29 21:18:18.000000000 +0200
@@ -2,8 +2,8 @@
 AX25OLDPATH = /usr/src/ax25
 
 # the rest should not be changed
-AX25LIBPATH = /usr/lib
-AX25INCPATH = /usr/include/netax25
+AX25LIBPATH = /usr/local/lib
+AX25INCPATH = /usr/src/linux/include/netax25
 
 .EXPORT_ALL_VARIABLES:
 
diff -ruN fbbsrc.704j/src/mbl_rev.c fbbsrc.704l/src/mbl_rev.c
--- fbbsrc.704j/src/mbl_rev.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/mbl_rev.c	2006-04-29 18:57:03.000000000 +0200
@@ -244,7 +244,7 @@
 	bullist lbul;
 	char holdname[130];
 
-	int i;
+	int i=0;
 	RevList *rptr = hold_list;
 
 	while (rptr)
diff -ruN fbbsrc.704j/src/mbl_sys.c fbbsrc.704l/src/mbl_sys.c
--- fbbsrc.704j/src/mbl_sys.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/mbl_sys.c	2006-04-29 16:13:19.000000000 +0200
@@ -345,11 +345,11 @@
 #include "global.h"
 #include "md5.h"
 
-void MD5String (unsigned char *dest, unsigned char *source)
+void MD5String (uchar *dest, uchar *source)
 {
 	int i;
 	MD5_CTX context;
-	unsigned char digest[16];
+	uchar digest[16];
 	unsigned int len = strlen (source);
 
 	MD5Init (&context);
diff -ruN fbbsrc.704j/src/mblutil.c fbbsrc.704l/src/mblutil.c
--- fbbsrc.704j/src/mblutil.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/mblutil.c	2006-04-29 19:43:57.000000000 +0200
@@ -1179,26 +1179,26 @@
 155, 151, 163, 150, 129, 236, 231, 152,     /* 248 - 255  */
 };
   
-unsigned char *ansi_to_ibm(unsigned char *buffer, int len)
+uchar *ansi_to_ibm(uchar *buffer, int len)
 {
-	unsigned char *ptr = buffer;
+	uchar *ptr = buffer;
 	
 	while (len--)
 	{
-		*ptr = ISO_8859_1_IBM850[*ptr];
+		*ptr = ISO_8859_1_IBM850[(int)*ptr];
 		++ptr;
 	}
 	
 	return buffer;
 }
 
-unsigned char *ibm_to_ansi(unsigned char *buffer, int len)
+uchar *ibm_to_ansi(uchar *buffer, int len)
 {
-	unsigned char *ptr = buffer;
+	uchar *ptr = buffer;
 	
 	while (len--)
 	{
-		*ptr = IBM850_ISO_8859_1[*ptr];
+		*ptr = IBM850_ISO_8859_1[(int)*ptr];
 		++ptr;
 	}
 	
diff -ruN fbbsrc.704j/src/md5c.c fbbsrc.704l/src/md5c.c
--- fbbsrc.704j/src/md5c.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/md5c.c	2006-04-29 16:23:41.000000000 +0200
@@ -70,15 +70,15 @@
 #define S43 15
 #define S44 21
 
-static void MD5Transform PROTO_LIST ((UINT4[4], unsigned char[64]));
+static void MD5Transform PROTO_LIST ((UINT4[4], uchar[64]));
 static void Encode PROTO_LIST
-  ((unsigned char *, UINT4 *, unsigned int));
+  ((uchar *, UINT4 *, unsigned int));
 static void Decode PROTO_LIST
-  ((UINT4 *, unsigned char *, unsigned int));
+  ((UINT4 *, uchar *, unsigned int));
 static void MD5_memcpy PROTO_LIST ((POINTER, POINTER, unsigned int));
 static void MD5_memset PROTO_LIST ((POINTER, int, unsigned int));
 
-static unsigned char PADDING[64] =
+static uchar PADDING[64] =
 {
 	0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -140,7 +140,7 @@
  */
 void MD5Update (context, input, inputLen)
 	 MD5_CTX *context;			/* context */
-	 unsigned char *input;		/* input block */
+	 uchar *input;		/* input block */
 	 unsigned int inputLen;		/* length of input block */
 {
 	unsigned int i, index, partLen;
@@ -182,10 +182,10 @@
    the message digest and zeroizing the context.
  */
 void MD5Final (digest, context)
-	 unsigned char digest[16];	/* message digest */
+	 uchar digest[16];	/* message digest */
 	 MD5_CTX *context;			/* context */
 {
-	unsigned char bits[8];
+	uchar bits[8];
 	unsigned int index, padLen;
 
 	/* Save number of bits */
@@ -211,7 +211,7 @@
  */
 static void MD5Transform (state, block)
 	 UINT4 state[4];
-	 unsigned char block[64];
+	 uchar block[64];
 {
 	UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
 
@@ -303,7 +303,7 @@
    a multiple of 4.
  */
 static void Encode (output, input, len)
-	 unsigned char *output;
+	 uchar *output;
 	 UINT4 *input;
 	 unsigned int len;
 {
@@ -311,10 +311,10 @@
 
 	for (i = 0, j = 0; j < len; i++, j += 4)
 	{
-		output[j] = (unsigned char) (input[i] & 0xff);
-		output[j + 1] = (unsigned char) ((input[i] >> 8) & 0xff);
-		output[j + 2] = (unsigned char) ((input[i] >> 16) & 0xff);
-		output[j + 3] = (unsigned char) ((input[i] >> 24) & 0xff);
+		output[j] = (uchar) (input[i] & 0xff);
+		output[j + 1] = (uchar) ((input[i] >> 8) & 0xff);
+		output[j + 2] = (uchar) ((input[i] >> 16) & 0xff);
+		output[j + 3] = (uchar) ((input[i] >> 24) & 0xff);
 	}
 }
 
@@ -323,7 +323,7 @@
  */
 static void Decode (output, input, len)
 	 UINT4 *output;
-	 unsigned char *input;
+	 uchar *input;
 	 unsigned int len;
 {
 	unsigned int i, j;
diff -ruN fbbsrc.704j/src/nouvfwd.c fbbsrc.704l/src/nouvfwd.c
--- fbbsrc.704j/src/nouvfwd.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/nouvfwd.c	2006-04-29 19:45:42.000000000 +0200
@@ -197,7 +197,7 @@
 static void mess_cancel (char *texte)
 {
 	int nb = strlen (texte);
-	unsigned char buf[257];
+	uchar buf[257];
 
 	buf[0] = CAN;
 	buf[1] = nb;
@@ -1037,7 +1037,7 @@
 				if (!check_dupes (voie, nb, svoie[voie]->entmes.exped, tst_priv))
 					break;
 
-				svoie[voie]->mess_egal[svoie[voie]->nb_egal] = svoie[voie]->entmes.numero;
+				svoie[voie]->mess_egal[(int)svoie[voie]->nb_egal] = svoie[voie]->entmes.numero;
 				++(svoie[voie]->nb_egal);
 				++nb_dupes;
 			}
@@ -1225,7 +1225,7 @@
 		case 'L':
 		case '=':
 			svoie[voie]->fb_mess[no].type = '\0';
-			svoie[voie]->mess_egal[svoie[voie]->nb_egal] = svoie[voie]->fb_mess[no].numero;
+			svoie[voie]->mess_egal[(int)svoie[voie]->nb_egal] = svoie[voie]->fb_mess[no].numero;
 			++(svoie[voie]->nb_egal);
 			break;
 		case 'A':
@@ -1741,8 +1741,8 @@
 static void bin_hdr (char *header, long pos)
 {
 	int nb = 2;
-	unsigned char buf[257];
-	unsigned char *ptr = buf;
+	uchar buf[257];
+	uchar *ptr = buf;
 
 	*ptr++ = SOH;
 	++ptr;
diff -ruN fbbsrc.704j/src/pacsat.c fbbsrc.704l/src/pacsat.c
--- fbbsrc.704j/src/pacsat.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/pacsat.c	2006-04-29 18:19:27.000000000 +0200
@@ -1194,36 +1194,36 @@
 struct pfh1
 {
 	unsigned short id __a1__;
-	unsigned char len __a1__;
-	unsigned char val __a1__;
+	uchar len __a1__;
+	uchar val __a1__;
 };
 
 struct pfh2
 {
 	unsigned short id __a1__;
-	unsigned char len __a1__;
+	uchar len __a1__;
 	unsigned short val __a1__;
 };
 
 struct pfh3
 {
 	unsigned short id __a1__;
-	unsigned char len __a1__;
-	unsigned char val[3] __a1__;
+	uchar len __a1__;
+	uchar val[3] __a1__;
 };
 
 struct pfh4
 {
 	unsigned short id __a1__;
-	unsigned char len __a1__;
+	uchar len __a1__;
 	unsigned long val __a1__;
 };
 
 struct pfh8
 {
 	unsigned short id __a1__;
-	unsigned char len __a1__;
-	unsigned char val[8] __a1__;
+	uchar len __a1__;
+	uchar val[8] __a1__;
 };
 
 struct pfh
@@ -1251,7 +1251,7 @@
 	int nb;
 	int zero = 0;
 	struct pfh *pfh = (struct pfh *) buf;
-	unsigned char *ptr;
+	uchar *ptr;
 	char lbuf[80];
 
 	if (pbul == NULL)
@@ -1529,7 +1529,7 @@
 static int rcvkss (void)
 {
 	struct sockaddr sa;
-	int asize = sizeof (sa);
+	unsigned asize = sizeof (sa);
 	int lg;
 	char *ptr;
 
diff -ruN fbbsrc.704j/src/rx25.c fbbsrc.704l/src/rx25.c
--- fbbsrc.704j/src/rx25.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/rx25.c	2006-04-29 16:27:21.000000000 +0200
@@ -38,7 +38,7 @@
  * Dump ASCII avec Filtrage des caracteres non affichables
  ******************************************************************************/
 
-static int decode_x25 (unsigned char *, int, char *);
+static int decode_x25 (uchar *, int, char *);
 
 static void decode_X121 (uchar *, int, char *);
 static void decode_digi (uchar *, int, char *);
@@ -46,8 +46,8 @@
 
 void put_rose (uchar * texte, int attr, int nbcar)
 {
-	unsigned char chaine[400];
-	unsigned char *ptr = chaine;
+	uchar chaine[400];
+	uchar *ptr = chaine;
 
 	int decode = 1;				/* A patcher, au cas ou ... */
 
diff -ruN fbbsrc.704j/src/terminal.c fbbsrc.704l/src/terminal.c
--- fbbsrc.704j/src/terminal.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/terminal.c	2006-04-29 17:35:46.000000000 +0200
@@ -30,7 +30,6 @@
  * xfbbC : Client for xfbbd BBS daemon version *
  *                                             *
  **********************************************/
-
 #include <sys/types.h>
 #include <utime.h>
 #include <stdio.h>
@@ -41,6 +40,7 @@
 #include <string.h>
 #include <curses.h>
 
+#define uchar char
 #define	MAX_PACKETLEN	512
 #define	MAX_BUFLEN	2*MAX_PACKETLEN
 
@@ -156,7 +156,7 @@
     return 0;
 }
 
-static void writeincom(int mode, t_win *win_in, unsigned char buf[], int bytes)
+static void writeincom(int mode, t_win *win_in, uchar buf[], int bytes)
 {
     int cnt;
 
diff -ruN fbbsrc.704j/src/trajec.c fbbsrc.704l/src/trajec.c
--- fbbsrc.704j/src/trajec.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/trajec.c	2006-04-29 18:28:09.000000000 +0200
@@ -47,7 +47,7 @@
 #define EPSILON 1e-8
 
 /* parametres satellite */
-static double i0;				/* inclinaison plan orbite sur plan equateur */
+static double i0;		/* inclinaison plan orbite sur plan equateur */
 static double a0;
 static double a8;
 static double a9;
@@ -110,7 +110,7 @@
 
 static double julien (double, int, int, int, int, int);
 
-static int round (double);
+static int arondi (double);
 
 static long julien_to_pc (double);
 
@@ -128,7 +128,7 @@
 static void satsta (void);
 
 
-static int round (double val)
+static int arondi (double val)
 {
 	if (val > 0.0)
 		return ((int) (val + 0.5));
@@ -358,14 +358,14 @@
 	long dist, alt;
 	double i_part, dp;
 
-	min = round (modf (jjdeb + pvoie->t_trajec, &i_part) * 1440.0);
+	min = arondi (modf (jjdeb + pvoie->t_trajec, &i_part) * 1440.0);
 	m = min % 60;
 	h = min / 60;
 	dp = f9 / 1000.0;
 	alt = (long) (r8 - R0 + 0.5);
 	dist = (long) (r5 + 0.5);
-	ligne_sat (h, m, round (a9), round (e9), dp, dist, alt,
-			   round (w5), round (l5), m9);
+	ligne_sat (h, m, arondi (a9), arondi (e9), dp, dist, alt,
+			   arondi (w5), arondi (l5), m9);
 }
 
 
diff -ruN fbbsrc.704j/src/trajovl.c fbbsrc.704l/src/trajovl.c
--- fbbsrc.704j/src/trajovl.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/trajovl.c	2006-04-29 01:51:14.000000000 +0200
@@ -504,6 +504,8 @@
 	int i = 0;
 	satel bufsat;
 	FILE *fptr;
+	char satstr[80];
+	FILE *fptr2;
 
 	cr ();
 	fptr = ouvre_sat ();
@@ -511,6 +513,13 @@
 	{
 		sprintf (varx[0], "%3d", i++);
 		sprintf (varx[1], "%-17s", bufsat.dd);
+		sprintf (satstr, "sat\\%ld.sat", bufsat.cat);
+		if ((fptr2 = fbb_fopen( d_disque (satstr),"r+b")) != NULL)
+		{
+			strcat (varx[0]," *");
+		} else
+        	strcat (varx[0],"  ");
+
 		texte (T_TRJ + 39);
 		if ((i % 3) == 0)
 			cr_cond ();
diff -ruN fbbsrc.704j/src/xfbbC.c fbbsrc.704l/src/xfbbC.c
--- fbbsrc.704j/src/xfbbC.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/xfbbC.c	2006-04-29 21:03:12.000000000 +0200
@@ -30,7 +30,6 @@
  * xfbbC : Client for xfbbd BBS daemon version *
  *                                             *
  **********************************************/
-
 #include <stdio.h>
 #include <string.h>
 #include <stdlib.h>
@@ -49,12 +48,14 @@
 #include <netdb.h>
 
 #include <fbb_orb.h>
-
 #include "terminal.h"
 
+
 #define CONSOLE 0
 #define MONITOR 1
-#define ALLCHAN 2
+/*#define ALLCHAN 2*/
+
+#define uchar char
 
 static char *usage =
 "Usage: xfbbC [-c | -m channel] [-d] [-f] [-h hostname] [-p port] [-i mycall] [-w password]\n"
@@ -125,7 +126,7 @@
 	return (lg);
 }
 
-static int send_file(int sock, char *filename)
+static int console_send_file(int sock, char *filename)
 {
 	int fd;
 	int nb;
@@ -357,7 +358,7 @@
 			buffer[3] = 0;
 			strcpy(buffer+4, filename);
 			write(sock, buffer, len+4);
-			send_file(sock, filename);
+			console_send_file(sock, filename);
 			break;
 		}
 		
@@ -445,7 +446,7 @@
 
 		if (FD_ISSET (sock, &sock_read))
 		{
-			unsigned char header[4];
+			uchar header[4];
 			unsigned int service;
 			unsigned int command;
 			unsigned int len;
@@ -643,11 +644,12 @@
 #include "global.h"
 #include "md5.h"
 
-void MD5String (unsigned char *dest, unsigned char *source)
+
+void MD5String (uchar *dest, uchar *source)
 {
 	int i;
 	MD5_CTX context;
-	unsigned char digest[16];
+	uchar digest[16];
 	unsigned int len = strlen (source);
 
 	MD5Init (&context);
diff -ruN fbbsrc.704j/src/yapp.c fbbsrc.704l/src/yapp.c
--- fbbsrc.704j/src/yapp.c	2003-09-07 17:18:29.000000000 +0200
+++ fbbsrc.704l/src/yapp.c	2006-04-29 19:50:42.000000000 +0200
@@ -70,7 +70,7 @@
 
 
 
-static unsigned char etat[12][17] =
+static uchar etat[12][17] =
 {
 	{AB, SH, SD, AB, AB, AB, AB, AB, SA, C, AB, S, DP, S1, AB, AB, AB},
 	{AB, SH, SD, AB, AB, AB, AB, AB, SA, C, AB, S, DP, S1, AB, AB, AB},
@@ -392,7 +392,7 @@
 static void sendinit (void)
 {
 	int nb;
-	unsigned char buf[20];
+	uchar buf[20];
 
 	/*  cprintf("Sendinit\r\n") ; */
 	pvoie->send_count = 0;
@@ -407,7 +407,7 @@
 void cancel (char *texte)
 {
 	int nb = strlen (texte);
-	unsigned char buf[257];
+	uchar buf[257];
 
 	buf[0] = CAN;
 	buf[1] = nb;
@@ -422,7 +422,7 @@
    static void not_ready(char *texte)
    {
    int  nb = strlen(texte) ;
-   unsigned char    buf[257] ;
+   uchar    buf[257] ;
 
    buf[0] = NAK ;
    buf[1] = nb ;
@@ -433,7 +433,7 @@
 
 static void sendeof (void)
 {
-	unsigned char buf[2];
+	uchar buf[2];
 
 	buf[0] = ETX;
 	buf[1] = 1;
@@ -441,9 +441,9 @@
 }
 
 
-void sendeot (unsigned char chck)
+void sendeot (uchar chck)
 {
-	unsigned char buf[2];
+	uchar buf[2];
 
 	buf[0] = EOT;
 	buf[1] = chck;
@@ -453,7 +453,7 @@
 
 static void sendinit_retry (void)
 {
-	unsigned char buf[2];
+	uchar buf[2];
 
 	if (++pvoie->send_count > 6)
 	{
@@ -482,8 +482,8 @@
 {
 	int nb = 0;
 	int fd;
-	unsigned char buf[257];
-	unsigned char *ptr = buf;
+	uchar buf[257];
+	uchar *ptr = buf;
 
 	union
 	{
@@ -639,7 +639,7 @@
 
 static void ack1 (void)
 {
-	unsigned char buf[2];
+	uchar buf[2];
 
 	buf[0] = ACK;
 	buf[1] = 1;
@@ -655,7 +655,7 @@
 
 	int nbcar = 0xff & (int) data[1];
 
-	unsigned char buf[2];
+	uchar buf[2];
 
 	/* decoder le header */
 	while (*indd++)
@@ -697,7 +697,7 @@
 
 static void ack3 (void)
 {
-	unsigned char buf[2];
+	uchar buf[2];
 
 	/* le fichier est valide */
 
@@ -721,7 +721,7 @@
 
 static void ack4 (void)
 {
-	unsigned char buf[2];
+	uchar buf[2];
 
 	buf[0] = ACK;
 	buf[1] = 4;
@@ -732,7 +732,7 @@
 
 static void ack5 (void)
 {
-	unsigned char buf[2];
+	uchar buf[2];
 
 	buf[0] = ACK;
 	buf[1] = 5;
@@ -863,7 +863,7 @@
 
 static void canrecd (void)
 {
-	unsigned char buf[2];
+	uchar buf[2];
 
 	clear_outbuf (voiecur);
 	buf[0] = ACK;
@@ -1028,18 +1028,18 @@
 
 	for (; pvoie->vdisk < 9; ++pvoie->vdisk)
 	{
-		if (*PATH[pvoie->vdisk] == '\0')
+		if (*PATH[(int)pvoie->vdisk] == '\0')
 			continue;
 
 		if ((pvoie->vdisk == 8) && (*pvoie->finf.priv == '\0'))
 			continue;
 
 		if ((pvoie->temp1 == N_YAPP) &&
-			(strncmp (YAPPDIR, PATH[pvoie->vdisk],
-					  strlen (PATH[pvoie->vdisk])) != 0))
+			(strncmp (YAPPDIR, PATH[(int)pvoie->vdisk],
+					  strlen (PATH[(int)pvoie->vdisk])) != 0))
 		if (pvoie->temp1 == N_YAPP)
 		{
-			ptr = back2slash(PATH[pvoie->vdisk]);
+			ptr = back2slash(PATH[(int)pvoie->vdisk]);
 			if (strncmp (YAPPDIR, ptr, strlen(ptr)) != 0)
 				continue;
 		}

