--- kaffe/ChangeLog	2003-01-07 14:23:01.000000000 +0100
+++ kaffe-patched/ChangeLog	2003-01-09 14:37:25.000000000 +0100
@@ -1,3 +1,13 @@
+2003-01-09 Dalibor Topic <robilad@yahoo.com>
+
+	* libraries/javalib/java/io/DataInputStream.java
+	Skipping of '\n' could corrupt reading from jars.
+	Jython 2.1 wouldn't run because of it.
+	(skipNextLF) removed.
+	(readByte, readLine) removed handling of skipNextLF.
+
+	Reported  by: Vesa Kaihlavirta <vpkaihla@cc.jyu.fi>
+
 2003-01-06 Dalibor Topic <robilad@yahoo.com>
 
 	Merged in java.awt.image.renderable from GNU Classpath.
--- kaffe/libraries/javalib/java/io/DataInputStream.java	2002-10-25 20:48:57.000000000 +0200
+++ kaffe-patched/libraries/javalib/java/io/DataInputStream.java	2003-01-09 14:35:27.000000000 +0100
@@ -13,8 +13,6 @@
 import kaffe.util.UTF8;
 
 public class DataInputStream extends FilterInputStream implements DataInput {
-	/* used to determine whether to skip next '\n' */
-	private boolean skipNextLF;
 
 public DataInputStream(InputStream in) {
 	super(new PushbackInputStream(in));
@@ -41,12 +39,7 @@
 	if (value == -1) {
 		throw new EOFException();
 	}
-	if (skipNextLF) {
-		skipNextLF = false;
-		if (value == '\n') {
-			value = readByte();
-		}
-	}
+
 	return ((byte)value);
 }
 
@@ -106,17 +99,11 @@
 				   wrapped in a PushbackInputStream. If
 				   there are bytes available for reading,
 				   we use its read() and unread() methods
-				   to skip the eventual '\n' character.
+				   to skip the eventual '\n' character after
+				   a '\r' character.
 
 				   Making sure bytes are available before
 				   reading should prevent hanging on a socket.
-
-				   The alternative method is to	set a
-				   skipNextLF flag. If the user switches to
-				   another InputStream using the underlying
-				   stream, as she might have to deal with a
-				   '\n' character that should have been
-				   skipped.
 				*/
 				if (available() > 0) {
 					final int lf = read();
@@ -125,9 +112,6 @@
 						((PushbackInputStream) in).unread((byte) lf);
 					}
 				}
-				else {
-					skipNextLF = true;
-				}
 
 				break;
 			}
