X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=src%2Forg%2Fibex%2Fmail%2FFileBasedMailbox.java;h=2adf9cdf8f91842332f026a83d766151e938bbf6;hb=4b76a31e8f86bc8de673899bbb45252c01e9a0f6;hp=2ba6549ff1b8a634516b037a76af6de443044f0b;hpb=a0c52dd0afcc1aa5dac81b08087bea6ffcf35ef7;p=org.ibex.mail.git diff --git a/src/org/ibex/mail/FileBasedMailbox.java b/src/org/ibex/mail/FileBasedMailbox.java index 2ba6549..2adf9cd 100644 --- a/src/org/ibex/mail/FileBasedMailbox.java +++ b/src/org/ibex/mail/FileBasedMailbox.java @@ -46,12 +46,10 @@ public class FileBasedMailbox extends Mailbox.Default implements MailTree { MailTree ret = instances.get(path); if (ret == null) { Log.error("n", "no match for " + path + " in " + instances.hashCode()); - if (new File(path+".sqlite").exists()) - ret = new SqliteMailbox(path+".sqlite"); - else { - if (!create && !(new File(path).exists())) return null; - ret = new FileBasedMailbox(new File(path)); - } + if (new File(path+".sqlite").exists()) ret = new SqliteMailbox(path+".sqlite"); + else if (new File(path).exists()) ret = new FileBasedMailbox(new File(path)); + else if (create) ret = new SqliteMailbox(path+".sqlite"); + else return null; instances.put(path, (MailTree)ret); Log.error("n", "filling " + path + " with " + instances.get(path)); } @@ -198,6 +196,7 @@ public class FileBasedMailbox extends Mailbox.Default implements MailTree { if ((flags & Mailbox.Flag.SEEN) == 0) f.setLastModified(MAGIC_DATE); else if (f.lastModified()==MAGIC_DATE) f.setLastModified(System.currentTimeMillis()); // FIXME: other flags? + // FIXME: definitely need DELETED flag in order to do message moves! } public Headers head() { return done() ? null : new Headers(new Fountain.File(file())); } public Message cur() { return Message.newMessage(new Fountain.File(file())); }