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]