Updated
Showing
3 changed files
with
25 additions
and
5 deletions
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 | ... | ... |
-
Please register or sign in to post a comment