On Fri, 1 Dec 2006, John Kelly wrote:
I get messages like these:
Invalid UID 000005cf in message 767, rebuilding UIDs
This problem is generally caused by running a mixture of software that
uses the c-client library, some built with imap-2006 and some built with
older versions. I suspect that if you rebuilt everything to use the
imap-2006d version of c-client that these problems will presently go away.
Hunting down what is built with the old c-client may be tricky, and may
require some talk with the users if you have shell access.
Some comments on your purge program:
if (!(ms = mail_open (NULL, argv[1], OP_SHORTCACHE)))
return (1);
Do not use shortcaching. Shortcaching was a 16-bit DOS facility that was
abandoned 10 years ago. I can't promise how c-client will behave with
OP_SHORTCACHE set. It's even possible that this could be causing your
invalid UID messages.
I intend to remove shortcaching in a future version that removes DOS and
the other dinosaur ports.
> sp = mail_newsearchpgm ();
> if (sp == NULL) {
> printf ("Not enough memory for search program\n");
> mail_close (ms);
> return (1);
> }
This test is unnecessary. mail_newsearchpgm() never returns null; the
application will crash if the malloc() fails.
Also, there is no reason why you can't just have an automatic structure,
e.g.,
SEARCHPGM sp;
memset (&sp,0,sizeof SEARCHPGM);
and then you don't need the mail_free_searchpgm() call. Of course, all
references to sp->foobar need to be sp.foobar, and sp changed to &sp in
the mail_search_full() call.
-- Mark --
http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.
_______________________________________________
Imap-uw mailing list
Imap-uw@u.washington.edu
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw