projects
/
org.ibex.mail.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
94ad82f
)
optimize IMAP.java to return a "bodyless message" when only headers are requested
author
adam
<adam@megacz.com>
Sat, 1 Mar 2008 08:16:04 +0000
(08:16 +0000)
committer
adam
<adam@megacz.com>
Sat, 1 Mar 2008 08:16:04 +0000
(08:16 +0000)
darcs-hash:
20080301081604
-5007d-
349a37f3d887c883724bbba3fb997c1c70d362e0
.gz
src/org/ibex/mail/IMAP.java
patch
|
blob
|
history
diff --git
a/src/org/ibex/mail/IMAP.java
b/src/org/ibex/mail/IMAP.java
index
9588cb4
..
b4abb24
100644
(file)
--- a/
src/org/ibex/mail/IMAP.java
+++ b/
src/org/ibex/mail/IMAP.java
@@
-254,8
+254,12
@@
public class IMAP {
public void fetch(Query q, int spec, String[] headers, int start, int end, boolean uid) {
for(Mailbox.Iterator it = selected().iterator(q); it.next(); ) {
Message message =
public void fetch(Query q, int spec, String[] headers, int start, int end, boolean uid) {
for(Mailbox.Iterator it = selected().iterator(q); it.next(); ) {
Message message =
- ((spec & (BODYSTRUCTURE | ENVELOPE | INTERNALDATE | FIELDS | FIELDSNOT | RFC822 |
- RFC822TEXT | RFC822SIZE | HEADERNOT | HEADER)) != 0) ? it.cur() : null;
+ ((spec & (BODYSTRUCTURE | RFC822 | RFC822TEXT | RFC822SIZE)) != 0)
+ ? it.cur()
+ : ((spec & (ENVELOPE | INTERNALDATE | FIELDS | FIELDSNOT | RFC822SIZE | HEADERNOT | HEADER)) != 0)
+ ? Message.newMessage(Fountain.Util.concat(it.head(), Fountain.Util.create("\r\n\r\n")))
+ : null;
+ if (message != null) Log.warn("spec", spec);
long size = message == null ? 0 : message.getLength();
client.fetch(it.imapNumber(), it.getFlags(), (int)size, message, it.uid());
it.setFlags(it.getFlags() & ~Mailbox.Flag.RECENT);
long size = message == null ? 0 : message.getLength();
client.fetch(it.imapNumber(), it.getFlags(), (int)size, message, it.uid());
it.setFlags(it.getFlags() & ~Mailbox.Flag.RECENT);