On Fri, 27 Oct 2006, Josko Plazonic wrote:
Copying of a message into Inbox invokes unix_copy (there is no mbox_copy) which doesn't know about mbox being the inbox so the message gets appended to /var/spool/mail/username.
An mbox_copy() wouldn't help; unlike append, the driver method call for copy is selected by the source mailbox rather than the target. Put another way, an mbox_copy() would only be called if the source mailbox is INBOX -- and then it would have to do the same actions as unix_copy().
However, what can be done is make unix_copy() recognize the case of the target being INBOX and testing for mbox. Please see if the following patch to unix.c does the trick.
-- Mark -- http://staff.washington.edu/mrc Science does not emerge from voting, party politics, or public debate. Si vis pacem, para bellum. *** unix/unix.c 2006/10/26 21:04:16 1.16 --- unix/unix.c 2006/10/27 21:39:06 *************** *** 23,29 **** * Internet: [EMAIL PROTECTED] * * Date: 20 December 1989 ! * Last Edited: 26 October 2006 */ --- 23,29 ---- * Internet: [EMAIL PROTECTED] * * Date: 20 December 1989 ! * Last Edited: 27 October 2006 */ *************** *** 880,886 **** if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence))) return NIL; /* make sure destination is valid */ ! if (unix_valid (mailbox) || !errno) { /* try to open rewrite */ if (!(tstream = mail_open_work (&unixdriver,NIL,mailbox, OP_SILENT|OP_NOKOD))) --- 880,887 ---- if (!((options & CP_UID) ? mail_uid_sequence (stream,sequence) : mail_sequence (stream,sequence))) return NIL; /* make sure destination is valid */ ! if ((mbox_valid (mailbox) && (mailbox = "mbox")) || ! unix_valid (mailbox) || !errno) { /* try to open rewrite */ if (!(tstream = mail_open_work (&unixdriver,NIL,mailbox, OP_SILENT|OP_NOKOD))) _______________________________________________ Imap-uw mailing list [email protected] https://mailman1.u.washington.edu/mailman/listinfo/imap-uw
