X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2FIMAP.java;h=2880113e6fd0f0940affaa7b5a253490ab636dc0;hb=7946ff49a5c3169b7581d8583ef3a30a4b36ca4d;hp=1dab5ef2a915153096c5569833cab8b3ac9762ea;hpb=2eb539a065adf4c9dee6f0a105d68202bbedca8b;p=org.ibex.mail.git diff --git a/src/org/ibex/mail/IMAP.java b/src/org/ibex/mail/IMAP.java index 1dab5ef..2880113 100644 --- a/src/org/ibex/mail/IMAP.java +++ b/src/org/ibex/mail/IMAP.java @@ -367,7 +367,7 @@ public class IMAP { println("* OK [UNSEEN " + api.unseen(mailbox) + "]"); println("* OK [UIDVALIDITY " + api.uidValidity(mailbox) + "] UIDs valid"); println("* OK [UIDNEXT " + api.uidNext(mailbox) + "]"); - println("* OK [PERMANENTFLAGS (\\Seen)]"); + println("* OK [PERMANENTFLAGS (\\Answered \\Flagged \\Deleted \\Seen \\Draft)]"); selected = true; break; } case STATUS: { @@ -675,6 +675,20 @@ public class IMAP { public Token(Parser.Token[] list) { this.s = null; n = 0; l = list; type = LIST; } public Token(int number) { this.s = null; n = number; l = null; type = NUMBER; } + public String toString() { + // FIXME hack + switch(type) { + case NIL: return "NIL"; + case LIST: return "(" + Printer.join(", ", l) + ")"; + case QUOTED: return s; + case NUMBER: return n+""; + case ATOM: return s; + case BAREWORD: return s; + case SET: return ""; + } + return "???"; + } + public String flag() { if (type != ATOM) bad("expected a flag"); return s; } public int n() { if (type != NUMBER) bad("expected number"); return n; } public int nz() { int n = n(); if (n == 0) bad("expected nonzero number"); return n; } @@ -716,6 +730,7 @@ public class IMAP { else if (flag.equals("\\Draft")) ret |= Mailbox.Flag.DRAFT; else if (flag.equals("\\Answered")) ret |= Mailbox.Flag.ANSWERED; else if (flag.equals("\\Recent")) ret |= Mailbox.Flag.RECENT; + else Log.warn(this, "unknown flag: " + flag); } return ret; } @@ -901,7 +916,7 @@ public class IMAP { } return ret.toString(); } - private static String join(String delimit, String[] stuff) { + private static String join(String delimit, Object[] stuff) { StringBuffer ret = new StringBuffer(); for(int i=0; i