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: {
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 "<set>";
+ }
+ 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; }
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;
}
}
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<stuff.length; i++) {
ret.append(stuff[i]);