Commit a15c1da4 a15c1da47a47d1e755bba5eb76768c2932877303 by Sergey Poznyakoff

Updated

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