Author: jvermillard
Date: Fri Jan  4 08:29:40 2008
New Revision: 608906

URL: http://svn.apache.org/viewvc?rev=608906&view=rev
Log:
DIRMINA-506 fix for TextLineDecoder

Modified:
    
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
    
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java

Modified: 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java?rev=608906&r1=608905&r2=608906&view=diff
==============================================================================
--- 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
 (original)
+++ 
mina/trunk/core/src/main/java/org/apache/mina/filter/codec/textline/TextLineDecoder.java
 Fri Jan  4 08:29:40 2008
@@ -277,6 +277,8 @@
                     matchCount = 0;
                 }
             } else {
+                // fix for DIRMINA-506
+                in.position(in.position()-matchCount);
                 matchCount = 0;
             }
         }

Modified: 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java
URL: 
http://svn.apache.org/viewvc/mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java?rev=608906&r1=608905&r2=608906&view=diff
==============================================================================
--- 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java
 (original)
+++ 
mina/trunk/core/src/test/java/org/apache/mina/filter/codec/textline/TextLineDecoderTest.java
 Fri Jan  4 08:29:40 2008
@@ -79,6 +79,14 @@
         Assert.assertEquals("JKL", session.getDecoderOutputQueue().poll());
         Assert.assertEquals("MNO", session.getDecoderOutputQueue().poll());
 
+        // Test aborted delimiter (DIRMINA-506)
+        in.clear();
+        in.putString("ABC\r\r\n", encoder);
+        in.flip();
+        decoder.decode(session, in, out);
+        Assert.assertEquals(1, session.getDecoderOutputQueue().size());
+        Assert.assertEquals("ABC\r", session.getDecoderOutputQueue().poll());
+
         // Test splitted long delimiter
         decoder = new TextLineDecoder(Charset.forName("UTF-8"),
                 new LineDelimiter("\n\n\n"));


Reply via email to