Author: norman
Date: Mon Apr 11 10:25:08 2011
New Revision: 1091012

URL: http://svn.apache.org/viewvc?rev=1091012&view=rev
Log:
HeaderBodyElement incorrectly calculate the size if no matching header was 
found. See IMAP-294

Modified:
    
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/HeaderBodyElement.java

Modified: 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/HeaderBodyElement.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/HeaderBodyElement.java?rev=1091012&r1=1091011&r2=1091012&view=diff
==============================================================================
--- 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/HeaderBodyElement.java
 (original)
+++ 
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/fetch/HeaderBodyElement.java
 Mon Apr 11 10:25:08 2011
@@ -47,7 +47,7 @@ final class HeaderBodyElement implements
         super();
         this.name = name;
         this.headers = headers;
-        size = calculateSize(headers);
+        this.size = calculateSize(headers);
     }
 
     /*
@@ -62,14 +62,16 @@ final class HeaderBodyElement implements
     private long calculateSize(List<MessageResult.Header> headers) {
         final int result;
         if (headers.isEmpty()) {
-            result = 0;
+            // even if the headers are empty we need to include the headers 
body seperator
+            // See IMAP-294
+            result = ImapConstants.LINE_END.length();
         } else {
             int count = 0;
             for (final Iterator<MessageResult.Header> it = headers.iterator(); 
it.hasNext();) {
                 MessageResult.Header header = it.next();
-                count += header.size() + 2;
+                count += header.size() +  ImapConstants.LINE_END.length();
             }
-            result = count + 2;
+            result = count + ImapConstants.LINE_END.length();
         }
         return result;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to