diff -u --recursive --new-file src/dos_dir.c src/dos_dir.c
--- src/dos_dir.c	Sun Jan  3 17:28:36 1999
+++ src/dos_dir.c	Sun Jan  9 08:32:16 2000
@@ -473,7 +473,7 @@
 	jour = date & 0x1f;
 	mois = (date >> 5) & 0x0f;
 	annee = 80 + ((date >> 9) & 0x3f);
-	sprintf (ch_date, "%02d-%02d-%2d", jour, mois, annee);
+	sprintf (ch_date, "%02d-%02d-%02d", jour, mois, annee % 100);
 	return (ch_date);
 }
 
diff -u --recursive --new-file src/lzhuf.c src/lzhuf.c
--- src/lzhuf.c	Sat Nov 21 22:43:36 1998
+++ src/lzhuf.c	Sun Jan  9 08:33:49 2000
@@ -183,7 +183,10 @@
 		if (!isdigit (indd[i]))
 			return (0L);
 
-	annee = ((indd[0] - '8') * 10) + (indd[1] - '0');
+	if (indd[0] < '8')
+		annee = ((indd[0] - '0') * 10) + 20 + (indd[1] - '0');
+	else
+		annee = ((indd[0] - '8') * 10) + (indd[1] - '0');
 	mois = ((indd[2] - '0') * 10) + (indd[3] - '0');
 	jour = ((indd[4] - '0') * 10) + (indd[5] - '0');
 
diff -u --recursive --new-file src/trajec.c src/trajec.c
--- src/trajec.c	Sat Nov 21 22:43:42 1998
+++ src/trajec.c	Sun Jan  9 08:31:39 2000
@@ -143,7 +143,9 @@
 		--y3;
 		n3 += 12;
 	}
-	if (y3 < 100)
+	if (y3 < 80)
+		y3 += 2000;
+	else if (y3 < 100)
 		y3 += 1900;
 	j8 = floor ((double) y3 / 100.);
 	j8 = floor (j8 / 4.) - j8 + floor (365.25 * (double) y3) +
@@ -516,7 +518,9 @@
 					&jour, &(pvoie->tdeb.mois),
 					&(pvoie->tdeb.annee));
 			pvoie->tdeb.jour = (double) jour;
-			if (pvoie->tdeb.annee < 100)
+			if (pvoie->tdeb.annee < 80)
+				pvoie->tdeb.annee += 2000;
+			else if (pvoie->tdeb.annee < 100)
 				pvoie->tdeb.annee += 1900;
 			texte (T_TRJ + 10);
 			maj_niv (pvoie->niv1, pvoie->niv2, 3);
diff -u --recursive --new-file src/trajovl.c src/trajovl.c
--- src/trajovl.c	Sat Nov 21 22:43:42 1998
+++ src/trajovl.c	Sun Jan  9 08:31:39 2000
@@ -448,7 +448,7 @@
 			return (FALSE);
 		if ((m < 1) || (m > 12))
 			return (FALSE);
-		if (((a < 80) || (a > 99)) && ((a < 1980) || (a > 1999)))
+		if ((a > 99) && (a < 1980 || a > 2030))
 			return (FALSE);
 		return (TRUE);
 	}
