Commit a15c1da4 a15c1da47a47d1e755bba5eb76768c2932877303 by Sergey Poznyakoff

Updated

1 parent 7f4ceb7e
2003-07-16 Sergey Poznyakoff
* NEWS: Updated
* TODO: Updated
* examples/listop.c: New file. A test shell for list operations.
* examples/Makefile.am: Added listop.c
* include/mailutils/iterator.h (iterator_get_list): New function.
* mailbox/iterator.c: Rewritten to reduce the time of list
traversal.
* mailbox/list.c (list_remove): Call iterator_advance.
* mailbox/include/iterator0.h (struct _iterator): Rewritten
(iterator_advance): New function.
* mailbox/include/list0.h (struct _list): Keep the linked list
of associated iterators.
* mailbox/testsuite/lib/mailbox.exp (mailbox_prog_start)
(mailbox_prog_command,mailbox_prog_stop,mailbox_prog_test): New
functions.
* mailbox/testsuite/mailbox/list.exp: New file. Tests generic list
operations.
* mailbox/testsuite/mailbox/DISTFILES: Added list.exp
2003-07-08 Sergey Poznyakoff
* configure.ac: Raised version number
......
......@@ -11,6 +11,10 @@ Version 0.3.2:
** Fixed improper use of size_t instead of off_t which caused
coredumps on systems where the two types have different sizes.
** iterator_t is rewritten to make list traversal more effective.
Traversing the list of n elements takes O(n), instead of O(n*(n+1)/2)
time units.
** Fixed memory allocation bug in mailbox/mu_auth.c
* New features.
......
......@@ -7,11 +7,6 @@
** Maildir support
** iterator_t is very ineffective. Traversing the list from iterator_first()
till iterator_is_done() takes O(n*(n+1)/2) time units, where n is
number of elements in the list. To reduce this to O(n), iterator_t
must keep the address of the last visited item in the list.
** Locking
*** Implement a read/write locker_lock() flag so that when MU_LOCKER_WRONLY
......