From: Matthew Barnes Date: Wed, 6 Aug 2008 16:57:37 +0000 (+0000) Subject: ** Fixes bug #545877 X-Git-Tag: upstream/3.7.4~4734 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1315ce722f465474b1fbfaae0f2f41facd5cd630;p=platform%2Fupstream%2Fevolution-data-server.git ** Fixes bug #545877 2008-08-06 Matthew Barnes ** Fixes bug #545877 Use CamelDList instead of EDList throughout Camel. svn path=/trunk/; revision=9288 --- diff --git a/camel/ChangeLog b/camel/ChangeLog index 3b2abff..35dea08 100644 --- a/camel/ChangeLog +++ b/camel/ChangeLog @@ -1,3 +1,23 @@ +2008-08-06 Matthew Barnes + + ** Fixes part of bug #545877 + + * camel-block-file.c: + * camel-block-file.h: + * camel-cipher-context.c: + * camel-cipher-context.h: + * camel-filter-driver.c: + * camel-iconv.c: + * camel-index-control.c: + * camel-object.c: + * camel-offline-journal.h: + * camel-offline-journal.c: + * camel-operation.c: + * camel-partition-table.c: + * camel-partition-table.h: + * camel-text-index.c: + Use CamelDList instead of EDList. + 2008-08-06 Srinivasa Ragavan ** Fix for bug #546613 diff --git a/camel/camel-block-file.c b/camel/camel-block-file.c index 4d1d6c6..7951abb 100644 --- a/camel/camel-block-file.c +++ b/camel/camel-block-file.c @@ -35,10 +35,9 @@ #include #include -#include - #include "camel-block-file.h" #include "camel-file-utils.h" +#include "camel-list-utils.h" #include "camel-private.h" #define d(x) /*(printf("%s(%d):%s: ", __FILE__, __LINE__, __PRETTY_FUNCTION__),(x))*/ @@ -70,9 +69,9 @@ struct _CamelBlockFilePrivate { static pthread_mutex_t block_file_lock = PTHREAD_MUTEX_INITIALIZER; /* lru cache of block files */ -static EDList block_file_list = E_DLIST_INITIALISER(block_file_list); +static CamelDList block_file_list = CAMEL_DLIST_INITIALISER(block_file_list); /* list to store block files that are actually intialised */ -static EDList block_file_active_list = E_DLIST_INITIALISER(block_file_active_list); +static CamelDList block_file_active_list = CAMEL_DLIST_INITIALISER(block_file_active_list); static int block_file_count = 0; static int block_file_threshhold = 10; @@ -165,7 +164,7 @@ camel_block_file_init(CamelBlockFile *bs) bs->fd = -1; bs->block_size = CAMEL_BLOCK_SIZE; - e_dlist_init(&bs->block_cache); + camel_dlist_init(&bs->block_cache); bs->blocks = g_hash_table_new((GHashFunc)block_hash_func, NULL); /* this cache size and the text index size have been tuned for about the best with moderate memory usage. Doubling the memory usage barely affects performance. */ @@ -180,7 +179,7 @@ camel_block_file_init(CamelBlockFile *bs) /* link into lru list */ LOCK(block_file_lock); - e_dlist_addhead(&block_file_list, (EDListNode *)p); + camel_dlist_addhead(&block_file_list, (CamelDListNode *)p); #if 0 { @@ -212,7 +211,7 @@ camel_block_file_finalise(CamelBlockFile *bs) LOCK(block_file_lock); if (bs->fd != -1) block_file_count--; - e_dlist_remove((EDListNode *)p); + camel_dlist_remove((CamelDListNode *)p); UNLOCK(block_file_lock); bl = (CamelBlock *)bs->block_cache.head; @@ -294,8 +293,8 @@ block_file_use(CamelBlockFile *bs) } LOCK(block_file_lock); - e_dlist_remove((EDListNode *)p); - e_dlist_addtail(&block_file_active_list, (EDListNode *)p); + camel_dlist_remove((CamelDListNode *)p); + camel_dlist_addtail(&block_file_active_list, (CamelDListNode *)p); block_file_count++; @@ -335,8 +334,8 @@ static void block_file_unuse(CamelBlockFile *bs) { LOCK(block_file_lock); - e_dlist_remove((EDListNode *)bs->priv); - e_dlist_addtail(&block_file_list, (EDListNode *)bs->priv); + camel_dlist_remove((CamelDListNode *)bs->priv); + camel_dlist_addtail(&block_file_list, (CamelDListNode *)bs->priv); UNLOCK(block_file_lock); CAMEL_BLOCK_FILE_UNLOCK(bs, io_lock); @@ -581,7 +580,7 @@ CamelBlock *camel_block_file_get_block(CamelBlockFile *bs, camel_block_t id) if (flush->refcount == 0) { if (sync_block_nolock(bs, flush) != -1) { g_hash_table_remove(bs->blocks, GUINT_TO_POINTER(flush->id)); - e_dlist_remove((EDListNode *)flush); + camel_dlist_remove((CamelDListNode *)flush); g_free(flush); bs->block_cache_count--; } @@ -592,10 +591,10 @@ CamelBlock *camel_block_file_get_block(CamelBlockFile *bs, camel_block_t id) /* UNLOCK io_lock */ block_file_unuse(bs); } else { - e_dlist_remove((EDListNode *)bl); + camel_dlist_remove((CamelDListNode *)bl); } - e_dlist_addhead(&bs->block_cache, (EDListNode *)bl); + camel_dlist_addhead(&bs->block_cache, (CamelDListNode *)bl); bl->refcount++; CAMEL_BLOCK_FILE_UNLOCK(bs, cache_lock); @@ -620,7 +619,7 @@ void camel_block_file_detach_block(CamelBlockFile *bs, CamelBlock *bl) CAMEL_BLOCK_FILE_LOCK(bs, cache_lock); g_hash_table_remove(bs->blocks, GUINT_TO_POINTER(bl->id)); - e_dlist_remove((EDListNode *)bl); + camel_dlist_remove((CamelDListNode *)bl); bl->flags |= CAMEL_BLOCK_DETACHED; CAMEL_BLOCK_FILE_UNLOCK(bs, cache_lock); @@ -638,7 +637,7 @@ void camel_block_file_attach_block(CamelBlockFile *bs, CamelBlock *bl) CAMEL_BLOCK_FILE_LOCK(bs, cache_lock); g_hash_table_insert(bs->blocks, GUINT_TO_POINTER(bl->id), bl); - e_dlist_addtail(&bs->block_cache, (EDListNode *)bl); + camel_dlist_addtail(&bs->block_cache, (CamelDListNode *)bl); bl->flags &= ~CAMEL_BLOCK_DETACHED; CAMEL_BLOCK_FILE_UNLOCK(bs, cache_lock); @@ -812,8 +811,8 @@ struct _CamelKeyFilePrivate { static pthread_mutex_t key_file_lock = PTHREAD_MUTEX_INITIALIZER; /* lru cache of block files */ -static EDList key_file_list = E_DLIST_INITIALISER(key_file_list); -static EDList key_file_active_list = E_DLIST_INITIALISER(key_file_active_list); +static CamelDList key_file_list = CAMEL_DLIST_INITIALISER(key_file_list); +static CamelDList key_file_active_list = CAMEL_DLIST_INITIALISER(key_file_active_list); static int key_file_count = 0; static const int key_file_threshhold = 10; @@ -833,7 +832,7 @@ camel_key_file_init(CamelKeyFile *bs) pthread_mutex_init(&p->lock, NULL); LOCK(key_file_lock); - e_dlist_addhead(&key_file_list, (EDListNode *)p); + camel_dlist_addhead(&key_file_list, (CamelDListNode *)p); UNLOCK(key_file_lock); } @@ -843,7 +842,7 @@ camel_key_file_finalise(CamelKeyFile *bs) struct _CamelKeyFilePrivate *p = bs->priv; LOCK(key_file_lock); - e_dlist_remove((EDListNode *)p); + camel_dlist_remove((CamelDListNode *)p); if (bs-> fp) { key_file_count--; @@ -924,8 +923,8 @@ key_file_use(CamelKeyFile *bs) } LOCK(key_file_lock); - e_dlist_remove((EDListNode *)p); - e_dlist_addtail(&key_file_active_list, (EDListNode *)p); + camel_dlist_remove((CamelDListNode *)p); + camel_dlist_addtail(&key_file_active_list, (CamelDListNode *)p); key_file_count++; @@ -958,8 +957,8 @@ static void key_file_unuse(CamelKeyFile *bs) { LOCK(key_file_lock); - e_dlist_remove((EDListNode *)bs->priv); - e_dlist_addtail(&key_file_list, (EDListNode *)bs->priv); + camel_dlist_remove((CamelDListNode *)bs->priv); + camel_dlist_addtail(&key_file_list, (CamelDListNode *)bs->priv); UNLOCK(key_file_lock); CAMEL_KEY_FILE_UNLOCK(bs, lock); diff --git a/camel/camel-block-file.h b/camel/camel-block-file.h index 97cb202..aa64d91 100644 --- a/camel/camel-block-file.h +++ b/camel/camel-block-file.h @@ -22,8 +22,8 @@ #define _CAMEL_BLOCK_FILE_H #include +#include #include -#include #include #include @@ -87,7 +87,7 @@ struct _CamelBlockFile { /* make private? */ int block_cache_limit; int block_cache_count; - EDList block_cache; + CamelDList block_cache; GHashTable *blocks; }; diff --git a/camel/camel-cipher-context.c b/camel/camel-cipher-context.c index 1860f9d..cfda179 100644 --- a/camel/camel-cipher-context.c +++ b/camel/camel-cipher-context.c @@ -381,9 +381,9 @@ camel_cipher_validity_init (CamelCipherValidity *validity) g_assert (validity != NULL); memset(validity, 0, sizeof(*validity)); - e_dlist_init(&validity->children); - e_dlist_init(&validity->sign.signers); - e_dlist_init(&validity->encrypt.encrypters); + camel_dlist_init(&validity->children); + camel_dlist_init(&validity->sign.signers); + camel_dlist_init(&validity->encrypt.encrypters); } gboolean @@ -470,14 +470,14 @@ void camel_cipher_validity_add_certinfo(CamelCipherValidity *vin, enum _camel_cipher_validity_mode_t mode, const char *name, const char *email) { CamelCipherCertInfo *info; - EDList *list; + CamelDList *list; info = g_malloc0(sizeof(*info)); info->name = g_strdup(name); info->email = g_strdup(email); list = (mode==CAMEL_CIPHER_VALIDITY_SIGN)?&vin->sign.signers:&vin->encrypt.encrypters; - e_dlist_addtail(list, (EDListNode *)info); + camel_dlist_addtail(list, (CamelDListNode *)info); printf("adding certinfo %s <%s>\n", name?name:"unset", email?email:"unset"); } @@ -532,13 +532,13 @@ camel_cipher_validity_free (CamelCipherValidity *validity) if (validity == NULL) return; - while ((child = (CamelCipherValidity *)e_dlist_remhead(&validity->children))) + while ((child = (CamelCipherValidity *)camel_dlist_remhead(&validity->children))) camel_cipher_validity_free(child); - while ((info = (CamelCipherCertInfo *)e_dlist_remhead(&validity->sign.signers))) + while ((info = (CamelCipherCertInfo *)camel_dlist_remhead(&validity->sign.signers))) ccv_certinfo_free(info); - while ((info = (CamelCipherCertInfo *)e_dlist_remhead(&validity->encrypt.encrypters))) + while ((info = (CamelCipherCertInfo *)camel_dlist_remhead(&validity->encrypt.encrypters))) ccv_certinfo_free(info); camel_cipher_validity_clear(validity); diff --git a/camel/camel-cipher-context.h b/camel/camel-cipher-context.h index 9274634..05dd63f 100644 --- a/camel/camel-cipher-context.h +++ b/camel/camel-cipher-context.h @@ -23,12 +23,10 @@ #ifndef CAMEL_CIPHER_CONTEXT_H #define CAMEL_CIPHER_CONTEXT_H +#include #include #include -/* FIXME: camelise */ -#include - #define CAMEL_CIPHER_CONTEXT_TYPE (camel_cipher_context_get_type ()) #define CAMEL_CIPHER_CONTEXT(obj) (CAMEL_CHECK_CAST((obj), CAMEL_CIPHER_CONTEXT_TYPE, CamelCipherContext)) #define CAMEL_CIPHER_CONTEXT_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_CIPHER_CONTEXT_TYPE, CamelCipherContextClass)) @@ -83,17 +81,17 @@ struct _CamelCipherCertInfo { struct _CamelCipherValidity { struct _CamelCipherValidity *next; struct _CamelCipherValidity *prev; - EDList children; + CamelDList children; struct { enum _camel_cipher_validity_sign_t status; char *description; - EDList signers; /* CamelCipherCertInfo's */ + CamelDList signers; /* CamelCipherCertInfo's */ } sign; struct { enum _camel_cipher_validity_encrypt_t status; char *description; - EDList encrypters; /* CamelCipherCertInfo's */ + CamelDList encrypters; /* CamelCipherCertInfo's */ } encrypt; }; diff --git a/camel/camel-filter-driver.c b/camel/camel-filter-driver.c index 7c0fdec..5c3261e 100644 --- a/camel/camel-filter-driver.c +++ b/camel/camel-filter-driver.c @@ -40,12 +40,12 @@ #endif #include -#include #include "camel-debug.h" #include "camel-file-utils.h" #include "camel-filter-driver.h" #include "camel-filter-search.h" +#include "camel-list-utils.h" #include "camel-mime-message.h" #include "camel-private.h" #include "camel-service.h" @@ -117,7 +117,7 @@ struct _CamelFilterDriverPrivate { FILE *logfile; /* log file */ - EDList rules; /* list of _filter_rule structs */ + CamelDList rules; /* list of _filter_rule structs */ CamelException *ex; @@ -215,7 +215,7 @@ camel_filter_driver_init (CamelFilterDriver *obj) p = _PRIVATE (obj) = g_malloc0 (sizeof (*p)); - e_dlist_init(&p->rules); + camel_dlist_init(&p->rules); p->eval = e_sexp_new (); /* Load in builtin symbols */ @@ -265,7 +265,7 @@ camel_filter_driver_finalise (CamelObject *obj) camel_object_unref (p->defaultfolder); } - while ((node = (struct _filter_rule *)e_dlist_remhead(&p->rules))) { + while ((node = (struct _filter_rule *)camel_dlist_remhead(&p->rules))) { g_free(node->match); g_free(node->action); g_free(node->name); @@ -374,7 +374,7 @@ camel_filter_driver_add_rule(CamelFilterDriver *d, const char *name, const char node->match = g_strdup(match); node->action = g_strdup(action); node->name = g_strdup(name); - e_dlist_addtail(&p->rules, (EDListNode *)node); + camel_dlist_addtail(&p->rules, (CamelDListNode *)node); } int @@ -386,7 +386,7 @@ camel_filter_driver_remove_rule_by_name (CamelFilterDriver *d, const char *name) node = (struct _filter_rule *) p->rules.head; while (node->next) { if (!strcmp (node->name, name)) { - e_dlist_remove ((EDListNode *) node); + camel_dlist_remove ((CamelDListNode *) node); g_free (node->match); g_free (node->action); g_free (node->name); diff --git a/camel/camel-iconv.c b/camel/camel-iconv.c index 9c0d2c4..deae25d 100644 --- a/camel/camel-iconv.c +++ b/camel/camel-iconv.c @@ -53,18 +53,18 @@ static GStaticMutex lock = G_STATIC_MUTEX_INIT; #define UNLOCK() #endif -typedef struct _EDListNode { - struct _EDListNode *next; - struct _EDListNode *prev; -} EDListNode; +typedef struct _CamelDListNode { + struct _CamelDListNode *next; + struct _CamelDListNode *prev; +} CamelDListNode; -typedef struct _EDList { - struct _EDListNode *head; - struct _EDListNode *tail; - struct _EDListNode *tailpred; -} EDList; +typedef struct _CamelDList { + struct _CamelDListNode *head; + struct _CamelDListNode *tail; + struct _CamelDListNode *tailpred; +} CamelDList; -#define E_DLIST_INITIALISER(l) { (EDListNode *)&l.tail, 0, (EDListNode *)&l.head } +#define CAMEL_DLIST_INITIALISER(l) { (CamelDListNode *)&l.tail, 0, (CamelDListNode *)&l.head } struct _iconv_cache_node { struct _iconv_cache_node *next; @@ -82,12 +82,12 @@ struct _iconv_cache { char *conv; - EDList open; /* stores iconv_cache_nodes, busy ones up front */ + CamelDList open; /* stores iconv_cache_nodes, busy ones up front */ }; #define E_ICONV_CACHE_SIZE (16) -static EDList iconv_cache_list; +static CamelDList iconv_cache_list; static GHashTable *iconv_cache; static GHashTable *iconv_cache_open; static unsigned int iconv_cache_size = 0; @@ -160,32 +160,32 @@ struct { /* Another copy of this trivial list implementation Why? This stuff gets called a lot (potentially), should run fast, and g_list's are f@@#$ed up to make this a hassle */ -static void e_dlist_init(EDList *v) +static void camel_dlist_init(CamelDList *v) { - v->head = (EDListNode *)&v->tail; + v->head = (CamelDListNode *)&v->tail; v->tail = NULL; - v->tailpred = (EDListNode *)&v->head; + v->tailpred = (CamelDListNode *)&v->head; } -static EDListNode *e_dlist_addhead(EDList *l, EDListNode *n) +static CamelDListNode *camel_dlist_addhead(CamelDList *l, CamelDListNode *n) { n->next = l->head; - n->prev = (EDListNode *)&l->head; + n->prev = (CamelDListNode *)&l->head; l->head->prev = n; l->head = n; return n; } -static EDListNode *e_dlist_addtail(EDList *l, EDListNode *n) +static CamelDListNode *camel_dlist_addtail(CamelDList *l, CamelDListNode *n) { - n->next = (EDListNode *)&l->tail; + n->next = (CamelDListNode *)&l->tail; n->prev = l->tailpred; l->tailpred->next = n; l->tailpred = n; return n; } -static EDListNode *e_dlist_remove(EDListNode *n) +static CamelDListNode *camel_dlist_remove(CamelDListNode *n) { n->next->prev = n->prev; n->prev->next = n->next; @@ -285,7 +285,7 @@ camel_iconv_init(int keep) g_hash_table_insert(iconv_charsets, from, to); } - e_dlist_init(&iconv_cache_list); + camel_dlist_init(&iconv_cache_list); iconv_cache = g_hash_table_new(g_str_hash, g_str_equal); iconv_cache_open = g_hash_table_new(NULL, NULL); @@ -470,7 +470,7 @@ camel_iconv_open (const gchar *oto, const gchar *ofrom) ic = g_hash_table_lookup(iconv_cache, tofrom); if (ic) { - e_dlist_remove((EDListNode *)ic); + camel_dlist_remove((CamelDListNode *)ic); } else { struct _iconv_cache *last = (struct _iconv_cache *)iconv_cache_list.tailpred; struct _iconv_cache *prev; @@ -480,7 +480,7 @@ camel_iconv_open (const gchar *oto, const gchar *ofrom) in = (struct _iconv_cache_node *)last->open.head; if (in->next && !in->busy) { cd(printf("Flushing iconv converter '%s'\n", last->conv)); - e_dlist_remove((EDListNode *)last); + camel_dlist_remove((CamelDListNode *)last); g_hash_table_remove(iconv_cache, last->conv); flush_entry(last); iconv_cache_size--; @@ -492,13 +492,13 @@ camel_iconv_open (const gchar *oto, const gchar *ofrom) iconv_cache_size++; ic = g_malloc(sizeof(*ic)); - e_dlist_init(&ic->open); + camel_dlist_init(&ic->open); ic->conv = g_strdup(tofrom); g_hash_table_insert(iconv_cache, ic->conv, ic); cd(printf("Creating iconv converter '%s'\n", ic->conv)); } - e_dlist_addhead(&iconv_cache_list, (EDListNode *)ic); + camel_dlist_addhead(&iconv_cache_list, (CamelDListNode *)ic); /* If we have a free iconv, use it */ in = (struct _iconv_cache_node *)ic->open.tailpred; @@ -515,8 +515,8 @@ camel_iconv_open (const gchar *oto, const gchar *ofrom) /* resets the converter */ iconv(ip, &buggy_iconv_buf, &buggy_iconv_len, &buggy_iconv_buf, &buggy_iconv_len); in->busy = TRUE; - e_dlist_remove((EDListNode *)in); - e_dlist_addhead(&ic->open, (EDListNode *)in); + camel_dlist_remove((CamelDListNode *)in); + camel_dlist_addhead(&ic->open, (CamelDListNode *)in); } } else { cd(printf("creating new iconv converter '%s'\n", ic->conv)); @@ -524,7 +524,7 @@ camel_iconv_open (const gchar *oto, const gchar *ofrom) in = g_malloc(sizeof(*in)); in->ip = ip; in->parent = ic; - e_dlist_addhead(&ic->open, (EDListNode *)in); + camel_dlist_addhead(&ic->open, (CamelDListNode *)in); if (ip != (iconv_t)-1) { g_hash_table_insert(iconv_cache_open, ip, in); in->busy = TRUE; @@ -560,9 +560,9 @@ camel_iconv_close (iconv_t ip) in = g_hash_table_lookup(iconv_cache_open, ip); if (in) { cd(printf("closing iconv converter '%s'\n", in->parent->conv)); - e_dlist_remove((EDListNode *)in); + camel_dlist_remove((CamelDListNode *)in); in->busy = FALSE; - e_dlist_addtail(&in->parent->open, (EDListNode *)in); + camel_dlist_addtail(&in->parent->open, (CamelDListNode *)in); } else { g_warning("trying to close iconv i dont know about: %p", ip); iconv_close(ip); diff --git a/camel/camel-index-control.c b/camel/camel-index-control.c index 047ece9..9a93b87 100644 --- a/camel/camel-index-control.c +++ b/camel/camel-index-control.c @@ -16,8 +16,7 @@ #include #include -#include - +#include "camel-list-utils.h" #include "camel-object.h" #include "camel-text-index.h" diff --git a/camel/camel-list-utils.c b/camel/camel-list-utils.c index c064721..29c6d00 100644 --- a/camel/camel-list-utils.c +++ b/camel/camel-list-utils.c @@ -35,7 +35,8 @@ * Initialise a double-linked list header. All list headers must be * initialised before use. **/ -void camel_dlist_init(CamelDList *v) +void +camel_dlist_init (CamelDList *v) { v->head = (CamelDListNode *)&v->tail; v->tail = NULL; @@ -51,7 +52,8 @@ void camel_dlist_init(CamelDList *v) * * Return value: @n. **/ -CamelDListNode *camel_dlist_addhead(CamelDList *l, CamelDListNode *n) +CamelDListNode * +camel_dlist_addhead (CamelDList *l, CamelDListNode *n) { n->next = l->head; n->prev = (CamelDListNode *)&l->head; @@ -69,7 +71,8 @@ CamelDListNode *camel_dlist_addhead(CamelDList *l, CamelDListNode *n) * * Return value: @n. **/ -CamelDListNode *camel_dlist_addtail(CamelDList *l, CamelDListNode *n) +CamelDListNode * +camel_dlist_addtail (CamelDList *l, CamelDListNode *n) { n->next = (CamelDListNode *)&l->tail; n->prev = l->tailpred; @@ -86,7 +89,8 @@ CamelDListNode *camel_dlist_addtail(CamelDList *l, CamelDListNode *n) * * Return value: @n. **/ -CamelDListNode *camel_dlist_remove(CamelDListNode *n) +CamelDListNode * +camel_dlist_remove (CamelDListNode *n) { n->next->prev = n->prev; n->prev->next = n->next; @@ -102,7 +106,8 @@ CamelDListNode *camel_dlist_remove(CamelDListNode *n) * xReturn value: The previously first-node in the list, or NULLif @l * is an empty list. **/ -CamelDListNode *camel_dlist_remhead(CamelDList *l) +CamelDListNode * +camel_dlist_remhead (CamelDList *l) { CamelDListNode *n, *nn; @@ -125,7 +130,8 @@ CamelDListNode *camel_dlist_remhead(CamelDList *l) * Return value: The previously last-node in the list, or NULL if @l * is an empty list. **/ -CamelDListNode *camel_dlist_remtail(CamelDList *l) +CamelDListNode * +camel_dlist_remtail (CamelDList *l) { CamelDListNode *n, *np; @@ -147,7 +153,8 @@ CamelDListNode *camel_dlist_remtail(CamelDList *l) * * Return value: %TRUE if @l is an empty list, %FALSE otherwise. **/ -int camel_dlist_empty(CamelDList *l) +int +camel_dlist_empty (CamelDList *l) { return (l->head == (CamelDListNode *)&l->tail); } @@ -160,7 +167,8 @@ int camel_dlist_empty(CamelDList *l) * * Return value: The number of nodes. **/ -int camel_dlist_length(CamelDList *l) +int +camel_dlist_length (CamelDList *l) { CamelDListNode *n, *nn; int count = 0; @@ -178,12 +186,14 @@ int camel_dlist_length(CamelDList *l) /* This is just for orthogonal completeness */ -void camel_slist_init(CamelSList *v) +void +camel_slist_init (CamelSList *v) { v->head = NULL; } -CamelSListNode *camel_slist_addhead(CamelSList *l, CamelSListNode *n) +CamelSListNode * +camel_slist_addhead (CamelSList *l, CamelSListNode *n) { n->next = l->head; l->head = n; @@ -191,7 +201,8 @@ CamelSListNode *camel_slist_addhead(CamelSList *l, CamelSListNode *n) return n; } -CamelSListNode *camel_slist_addtail(CamelSList *l, CamelSListNode *n) +CamelSListNode * +camel_slist_addtail (CamelSList *l, CamelSListNode *n) { CamelSListNode *p; @@ -204,7 +215,8 @@ CamelSListNode *camel_slist_addtail(CamelSList *l, CamelSListNode *n) return n; } -CamelSListNode *camel_slist_remove(CamelSList *l, CamelSListNode *n) +CamelSListNode * +camel_slist_remove (CamelSList *l, CamelSListNode *n) { CamelSListNode *p, *q; @@ -222,7 +234,8 @@ CamelSListNode *camel_slist_remove(CamelSList *l, CamelSListNode *n) return NULL; } -CamelSListNode *camel_slist_remhead(CamelSList *l) +CamelSListNode * +camel_slist_remhead (CamelSList *l) { CamelSListNode *n; @@ -233,7 +246,8 @@ CamelSListNode *camel_slist_remhead(CamelSList *l) return n; } -CamelSListNode *camel_slist_remtail(CamelSList *l) +CamelSListNode * +camel_slist_remtail (CamelSList *l) { CamelSListNode *n, *p; @@ -250,12 +264,14 @@ CamelSListNode *camel_slist_remtail(CamelSList *l) return n; } -int camel_slist_empty(CamelSList *l) +int +camel_slist_empty (CamelSList *l) { return (l->head == NULL); } -int camel_slist_length(CamelSList *l) +int +camel_slist_length (CamelSList *l) { CamelSListNode *n; int count = 0; diff --git a/camel/camel-list-utils.h b/camel/camel-list-utils.h index 2495856..d2cb5aa 100644 --- a/camel/camel-list-utils.h +++ b/camel/camel-list-utils.h @@ -22,6 +22,8 @@ #ifndef _CAMEL_LIST_UTILS_H #define _CAMEL_LIST_UTILS_H +#include + G_BEGIN_DECLS /* This is a copy of Amiga's Exec lists, the head and tail nodes are diff --git a/camel/camel-object.c b/camel/camel-object.c index d599483..4418262 100644 --- a/camel/camel-object.c +++ b/camel/camel-object.c @@ -33,9 +33,9 @@ #include #include -#include #include "camel-file-utils.h" +#include "camel-list-utils.h" #include "camel-object.h" #define d(x) diff --git a/camel/camel-offline-journal.c b/camel/camel-offline-journal.c index d1577aa..170c7fd 100644 --- a/camel/camel-offline-journal.c +++ b/camel/camel-offline-journal.c @@ -85,18 +85,18 @@ camel_offline_journal_init (CamelOfflineJournal *journal, CamelOfflineJournalCla { journal->folder = NULL; journal->filename = NULL; - e_dlist_init (&journal->queue); + camel_dlist_init (&journal->queue); } static void camel_offline_journal_finalize (CamelObject *object) { CamelOfflineJournal *journal = (CamelOfflineJournal *) object; - EDListNode *entry; + CamelDListNode *entry; g_free (journal->filename); - while ((entry = e_dlist_remhead (&journal->queue))) + while ((entry = camel_dlist_remhead (&journal->queue))) CAMEL_OFFLINE_JOURNAL_GET_CLASS (journal)->entry_free (journal, entry); } @@ -111,7 +111,7 @@ camel_offline_journal_finalize (CamelObject *object) void camel_offline_journal_construct (CamelOfflineJournal *journal, CamelFolder *folder, const char *filename) { - EDListNode *entry; + CamelDListNode *entry; FILE *fp; journal->filename = g_strdup (filename); @@ -119,7 +119,7 @@ camel_offline_journal_construct (CamelOfflineJournal *journal, CamelFolder *fold if ((fp = g_fopen (filename, "rb"))) { while ((entry = CAMEL_OFFLINE_JOURNAL_GET_CLASS (journal)->entry_load (journal, fp))) - e_dlist_addtail (&journal->queue, entry); + camel_dlist_addtail (&journal->queue, entry); fclose (fp); } @@ -155,7 +155,7 @@ camel_offline_journal_set_filename (CamelOfflineJournal *journal, const char *fi int camel_offline_journal_write (CamelOfflineJournal *journal, CamelException *ex) { - EDListNode *entry; + CamelDListNode *entry; FILE *fp; int fd; @@ -205,7 +205,7 @@ camel_offline_journal_write (CamelOfflineJournal *journal, CamelException *ex) int camel_offline_journal_replay (CamelOfflineJournal *journal, CamelException *ex) { - EDListNode *entry, *next; + CamelDListNode *entry, *next; CamelException lex; int failed = 0; @@ -220,7 +220,7 @@ camel_offline_journal_replay (CamelOfflineJournal *journal, CamelException *ex) camel_exception_clear (&lex); failed++; } else { - e_dlist_remove (entry); + camel_dlist_remove (entry); } entry = next; } diff --git a/camel/camel-offline-journal.h b/camel/camel-offline-journal.h index a874af6..388a5cc 100644 --- a/camel/camel-offline-journal.h +++ b/camel/camel-offline-journal.h @@ -29,7 +29,7 @@ #include -#include +#include #include #define CAMEL_TYPE_OFFLINE_JOURNAL (camel_offline_journal_get_type ()) @@ -52,18 +52,18 @@ struct _CamelOfflineJournal { struct _CamelFolder *folder; char *filename; - EDList queue; + CamelDList queue; }; struct _CamelOfflineJournalClass { CamelObjectClass parent_class; /* entry methods */ - void (* entry_free) (CamelOfflineJournal *journal, EDListNode *entry); + void (* entry_free) (CamelOfflineJournal *journal, CamelDListNode *entry); - EDListNode * (* entry_load) (CamelOfflineJournal *journal, FILE *in); - int (* entry_write) (CamelOfflineJournal *journal, EDListNode *entry, FILE *out); - int (* entry_play) (CamelOfflineJournal *journal, EDListNode *entry, CamelException *ex); + CamelDListNode * (* entry_load) (CamelOfflineJournal *journal, FILE *in); + int (* entry_write) (CamelOfflineJournal *journal, CamelDListNode *entry, FILE *out); + int (* entry_play) (CamelOfflineJournal *journal, CamelDListNode *entry, CamelException *ex); }; diff --git a/camel/camel-operation.c b/camel/camel-operation.c index 667bd03..dd87e9f 100644 --- a/camel/camel-operation.c +++ b/camel/camel-operation.c @@ -35,8 +35,7 @@ #include -#include /* for EDList */ - +#include "camel-list-utils.h" #include "camel-operation.h" #include "camel-msgport.h" @@ -87,7 +86,7 @@ static pthread_mutex_t operation_lock = PTHREAD_MUTEX_INITIALIZER; static unsigned int stamp (void); -static EDList operation_list = E_DLIST_INITIALISER(operation_list); +static CamelDList operation_list = CAMEL_DLIST_INITIALISER(operation_list); static pthread_key_t operation_key; static pthread_once_t operation_once = PTHREAD_ONCE_INIT; @@ -139,7 +138,7 @@ camel_operation_new (CamelOperationStatusFunc status, void *status_data) cc->cancel_fd = -1; LOCK(); - e_dlist_addtail(&operation_list, (EDListNode *)cc); + camel_dlist_addtail(&operation_list, (CamelDListNode *)cc); UNLOCK(); return cc; @@ -210,7 +209,7 @@ camel_operation_unref (CamelOperation *cc) if (cc->refcount == 1) { CamelOperationMsg *msg; - e_dlist_remove((EDListNode *)cc); + camel_dlist_remove((CamelDListNode *)cc); while ((msg = (CamelOperationMsg *)camel_msgport_try_pop(cc->cancel_port))) g_free(msg); diff --git a/camel/camel-partition-table.c b/camel/camel-partition-table.c index 590c8e2..3fa2644 100644 --- a/camel/camel-partition-table.c +++ b/camel/camel-partition-table.c @@ -32,9 +32,8 @@ #include #include -#include - #include "camel-block-file.h" +#include "camel-list-utils.h" #include "camel-partition-table.h" /* Do we synchronously write table updates - makes the @@ -64,7 +63,7 @@ camel_partition_table_init(CamelPartitionTable *cpi) { struct _CamelPartitionTablePrivate *p; - e_dlist_init(&cpi->partition); + camel_dlist_init(&cpi->partition); p = cpi->priv = g_malloc0(sizeof(*cpi->priv)); pthread_mutex_init(&p->lock, NULL); @@ -79,7 +78,7 @@ camel_partition_table_finalise(CamelPartitionTable *cpi) p = cpi->priv; if (cpi->blocks) { - while ((bl = (CamelBlock *)e_dlist_remhead(&cpi->partition))) { + while ((bl = (CamelBlock *)camel_dlist_remhead(&cpi->partition))) { camel_block_file_sync_block(cpi->blocks, bl); camel_block_file_unref_block(cpi->blocks, bl); } @@ -213,7 +212,7 @@ CamelPartitionTable *camel_partition_table_new(struct _CamelBlockFile *bs, camel d(printf("Adding partition block, used = %d, hashid = %08x\n", ptb->used, ptb->partition[0].hashid)); /* if we have no data, prime initial block */ - if (ptb->used == 0 && e_dlist_empty(&cpi->partition) && ptb->next == 0) { + if (ptb->used == 0 && camel_dlist_empty(&cpi->partition) && ptb->next == 0) { pblock = camel_block_file_new_block(bs); if (pblock == NULL) { camel_block_file_unref_block(bs, block); @@ -234,7 +233,7 @@ CamelPartitionTable *camel_partition_table_new(struct _CamelBlockFile *bs, camel root = ptb->next; camel_block_file_detach_block(bs, block); - e_dlist_addtail(&cpi->partition, (EDListNode *)block); + camel_dlist_addtail(&cpi->partition, (CamelDListNode *)block); } while (root); return cpi; diff --git a/camel/camel-partition-table.h b/camel/camel-partition-table.h index 379ad02..df2eb4c 100644 --- a/camel/camel-partition-table.h +++ b/camel/camel-partition-table.h @@ -23,9 +23,9 @@ #include #include -#include #include "camel-block-file.h" +#include "camel-list-utils.h" G_BEGIN_DECLS @@ -76,7 +76,7 @@ struct _CamelPartitionTable { void *is_key_data; /* we keep a list of partition blocks active at all times */ - EDList partition; + CamelDList partition; }; struct _CamelPartitionTableClass { diff --git a/camel/camel-private.h b/camel/camel-private.h index a96e1fa..474d187 100644 --- a/camel/camel-private.h +++ b/camel/camel-private.h @@ -31,7 +31,6 @@ #endif #include -#include G_BEGIN_DECLS diff --git a/camel/camel-provider.c b/camel/camel-provider.c index c587c64..ca6b74c 100644 --- a/camel/camel-provider.c +++ b/camel/camel-provider.c @@ -39,8 +39,6 @@ #include #include -#include - #include "camel-exception.h" #include "camel-private.h" #include "camel-provider.h" diff --git a/camel/camel-service.c b/camel/camel-service.c index 74fae64..2d6fafb 100644 --- a/camel/camel-service.c +++ b/camel/camel-service.c @@ -37,8 +37,6 @@ #include #include -#include - #include "camel-exception.h" #include "camel-operation.h" #include "camel-private.h" diff --git a/camel/camel-text-index.c b/camel/camel-text-index.c index e52fb22..32b662e 100644 --- a/camel/camel-text-index.c +++ b/camel/camel-text-index.c @@ -37,9 +37,9 @@ #include #include -#include #include "camel-block-file.h" +#include "camel-list-utils.h" #include "camel-object.h" #include "camel-partition-table.h" #include "camel-private.h" @@ -125,7 +125,7 @@ struct _CamelTextIndexPrivate { /* Cache of words to write */ int word_cache_limit; int word_cache_count; - EDList word_cache; + CamelDList word_cache; GHashTable *words; GStaticRecMutex lock; }; @@ -213,7 +213,7 @@ text_index_add_name_to_word(CamelIndex *idx, const char *word, camel_key_t namei w->names[0] = nameid; g_hash_table_insert(p->words, w->word, w); - e_dlist_addhead(&p->word_cache, (EDListNode *)w); + camel_dlist_addhead(&p->word_cache, (CamelDListNode *)w); p->word_cache_count++; ww = (struct _CamelTextIndexWord *)p->word_cache.tailpred; wp = ww->prev; @@ -225,7 +225,7 @@ text_index_add_name_to_word(CamelIndex *idx, const char *word, camel_key_t namei camel_block_file_touch_block(p->blocks, p->blocks->root_block); /* if this call fails - we still point to the old data - not fatal */ camel_key_table_set_data(p->word_index, ww->wordid, ww->data); - e_dlist_remove((EDListNode *)ww); + camel_dlist_remove((CamelDListNode *)ww); g_hash_table_remove(p->words, ww->word); g_free(ww->word); g_free(ww); @@ -235,8 +235,8 @@ text_index_add_name_to_word(CamelIndex *idx, const char *word, camel_key_t namei wp = wp->prev; } } else { - e_dlist_remove((EDListNode *)w); - e_dlist_addhead(&p->word_cache, (EDListNode *)w); + camel_dlist_remove((CamelDListNode *)w); + camel_dlist_addhead(&p->word_cache, (CamelDListNode *)w); w->names[w->used] = nameid; w->used++; if (w->used == sizeof(w->names)/sizeof(w->names[0])) { @@ -279,9 +279,9 @@ text_index_sync(CamelIndex *idx) /* this doesn't really need to be dropped, its only used in updates anyway */ p->word_cache_limit = 1024; - work = !e_dlist_empty(&p->word_cache); + work = !camel_dlist_empty(&p->word_cache); - while ( (ww = (struct _CamelTextIndexWord *)e_dlist_remhead(&p->word_cache)) ) { + while ( (ww = (struct _CamelTextIndexWord *)camel_dlist_remhead(&p->word_cache)) ) { if (ww->used > 0) { io(printf("writing key file entry '%s' [%x]\n", ww->word, ww->data)); if (camel_key_file_write(p->links, &ww->data, ww->used, ww->names) != -1) { @@ -757,7 +757,7 @@ camel_text_index_init(CamelTextIndex *idx) p = CTI_PRIVATE(idx) = g_malloc0(sizeof(*p)); - e_dlist_init(&p->word_cache); + camel_dlist_init(&p->word_cache); p->words = g_hash_table_new(g_str_hash, g_str_equal); p->word_cache_count = 0; /* this cache size and the block cache size have been tuned for about the best @@ -774,7 +774,7 @@ camel_text_index_finalise(CamelTextIndex *idx) camel_index_sync((CamelIndex *)idx); - g_assert(e_dlist_empty(&p->word_cache)); + g_assert(camel_dlist_empty(&p->word_cache)); g_assert(g_hash_table_size(p->words) == 0); g_hash_table_destroy(p->words); diff --git a/camel/providers/groupwise/ChangeLog b/camel/providers/groupwise/ChangeLog index 44c3197..3040829 100644 --- a/camel/providers/groupwise/ChangeLog +++ b/camel/providers/groupwise/ChangeLog @@ -1,3 +1,11 @@ +2008-08-06 Matthew Barnes + + ** Fixes part of bug #545877 + + * camel-groupwise-journal.c: + * camel-groupwise-journal.h: + Use CamelDList instead of EDList. + 2008-08-06 Srinivasa Ragavan * camel/providers/groupwise/camel-groupwise-folder.c: Mark summary diff --git a/camel/providers/groupwise/camel-groupwise-folder.c b/camel/providers/groupwise/camel-groupwise-folder.c index be79084..38c17fb 100644 --- a/camel/providers/groupwise/camel-groupwise-folder.c +++ b/camel/providers/groupwise/camel-groupwise-folder.c @@ -40,8 +40,6 @@ #include #include -#include - #include #include diff --git a/camel/providers/groupwise/camel-groupwise-journal.c b/camel/providers/groupwise/camel-groupwise-journal.c index 30c73e6..26801ba 100644 --- a/camel/providers/groupwise/camel-groupwise-journal.c +++ b/camel/providers/groupwise/camel-groupwise-journal.c @@ -54,10 +54,10 @@ static void camel_groupwise_journal_class_init (CamelGroupwiseJournalClass *klas static void camel_groupwise_journal_init (CamelGroupwiseJournal *journal, CamelGroupwiseJournalClass *klass); static void camel_groupwise_journal_finalize (CamelObject *object); -static void groupwise_entry_free (CamelOfflineJournal *journal, EDListNode *entry); -static EDListNode *groupwise_entry_load (CamelOfflineJournal *journal, FILE *in); -static int groupwise_entry_write (CamelOfflineJournal *journal, EDListNode *entry, FILE *out); -static int groupwise_entry_play (CamelOfflineJournal *journal, EDListNode *entry, CamelException *ex); +static void groupwise_entry_free (CamelOfflineJournal *journal, CamelDListNode *entry); +static CamelDListNode *groupwise_entry_load (CamelOfflineJournal *journal, FILE *in); +static int groupwise_entry_write (CamelOfflineJournal *journal, CamelDListNode *entry, FILE *out); +static int groupwise_entry_play (CamelOfflineJournal *journal, CamelDListNode *entry, CamelException *ex); static CamelOfflineJournalClass *parent_class = NULL; @@ -108,7 +108,7 @@ camel_groupwise_journal_finalize (CamelObject *object) } static void -groupwise_entry_free (CamelOfflineJournal *journal, EDListNode *entry) +groupwise_entry_free (CamelOfflineJournal *journal, CamelDListNode *entry) { CamelGroupwiseJournalEntry *groupwise_entry = (CamelGroupwiseJournalEntry *) entry; @@ -118,7 +118,7 @@ groupwise_entry_free (CamelOfflineJournal *journal, EDListNode *entry) g_free (groupwise_entry); } -static EDListNode * +static CamelDListNode * groupwise_entry_load (CamelOfflineJournal *journal, FILE *in) { CamelGroupwiseJournalEntry *entry; @@ -145,7 +145,7 @@ groupwise_entry_load (CamelOfflineJournal *journal, FILE *in) goto exception; } - return (EDListNode *) entry; + return (CamelDListNode *) entry; exception: @@ -159,7 +159,7 @@ groupwise_entry_load (CamelOfflineJournal *journal, FILE *in) } static int -groupwise_entry_write (CamelOfflineJournal *journal, EDListNode *entry, FILE *out) +groupwise_entry_write (CamelOfflineJournal *journal, CamelDListNode *entry, FILE *out) { CamelGroupwiseJournalEntry *groupwise_entry = (CamelGroupwiseJournalEntry *) entry; @@ -302,7 +302,7 @@ groupwise_entry_play_transfer (CamelOfflineJournal *journal, CamelGroupwiseJourn } static int -groupwise_entry_play (CamelOfflineJournal *journal, EDListNode *entry, CamelException *ex) +groupwise_entry_play (CamelOfflineJournal *journal, CamelDListNode *entry, CamelException *ex) { CamelGroupwiseJournalEntry *groupwise_entry = (CamelGroupwiseJournalEntry *) entry; @@ -404,7 +404,7 @@ camel_groupwise_journal_append (CamelGroupwiseJournal *groupwise_journal, CamelM entry->type = CAMEL_GROUPWISE_JOURNAL_ENTRY_APPEND; entry->uid = uid; - e_dlist_addtail (&journal->queue, (EDListNode *) entry); + camel_dlist_addtail (&journal->queue, (CamelDListNode *) entry); if (appended_uid) *appended_uid = g_strdup (uid); @@ -430,7 +430,7 @@ camel_groupwise_journal_transfer (CamelGroupwiseJournal *groupwise_journal, Came entry->original_uid = g_strdup (original_uid); entry->source_container = g_strdup (camel_groupwise_store_container_id_lookup (gw_store, ((CamelFolder *)source_folder)->name)); - e_dlist_addtail (&journal->queue, (EDListNode *) entry); + camel_dlist_addtail (&journal->queue, (CamelDListNode *) entry); if (transferred_uid) *transferred_uid = g_strdup (uid); diff --git a/camel/providers/groupwise/camel-groupwise-journal.h b/camel/providers/groupwise/camel-groupwise-journal.h index 7452f56..cceee23 100644 --- a/camel/providers/groupwise/camel-groupwise-journal.h +++ b/camel/providers/groupwise/camel-groupwise-journal.h @@ -52,7 +52,7 @@ enum { }; struct _CamelGroupwiseJournalEntry { - EDListNode node; + CamelDListNode node; int type; diff --git a/camel/providers/imap/ChangeLog b/camel/providers/imap/ChangeLog index 8863401..21aef9a 100644 --- a/camel/providers/imap/ChangeLog +++ b/camel/providers/imap/ChangeLog @@ -1,3 +1,12 @@ +2008-08-06 Matthew Barnes + + * camel-imap-journal.c: + * camel-imap-journal.h: + * camel-imap-store.h: + * camel-imap-search.c: + * camel-imap-search.h: + Use CamelDList instead of EDList. + 2008-08-06 Srinivasa Ragavan * camel/providers/imap/camel-imap-folder.c: Mark summary as dirty when diff --git a/camel/providers/imap/camel-imap-journal.c b/camel/providers/imap/camel-imap-journal.c index 43c19e3..cc521a0 100644 --- a/camel/providers/imap/camel-imap-journal.c +++ b/camel/providers/imap/camel-imap-journal.c @@ -52,10 +52,10 @@ static void camel_imap_journal_class_init (CamelIMAPJournalClass *klass); static void camel_imap_journal_init (CamelIMAPJournal *journal, CamelIMAPJournalClass *klass); static void camel_imap_journal_finalize (CamelObject *object); -static void imap_entry_free (CamelOfflineJournal *journal, EDListNode *entry); -static EDListNode *imap_entry_load (CamelOfflineJournal *journal, FILE *in); -static int imap_entry_write (CamelOfflineJournal *journal, EDListNode *entry, FILE *out); -static int imap_entry_play (CamelOfflineJournal *journal, EDListNode *entry, CamelException *ex); +static void imap_entry_free (CamelOfflineJournal *journal, CamelDListNode *entry); +static CamelDListNode *imap_entry_load (CamelOfflineJournal *journal, FILE *in); +static int imap_entry_write (CamelOfflineJournal *journal, CamelDListNode *entry, FILE *out); +static int imap_entry_play (CamelOfflineJournal *journal, CamelDListNode *entry, CamelException *ex); static void unref_folder (gpointer key, gpointer value, gpointer data); static void free_uids (GPtrArray *array); static void close_folder (gpointer name, gpointer folder, gpointer data); @@ -132,7 +132,7 @@ unref_folder (gpointer key, gpointer value, gpointer data) } static void -imap_entry_free (CamelOfflineJournal *journal, EDListNode *entry) +imap_entry_free (CamelOfflineJournal *journal, CamelDListNode *entry) { CamelIMAPJournalEntry *imap_entry = (CamelIMAPJournalEntry *) entry; @@ -180,7 +180,7 @@ decode_uids (FILE *file) return uids; } -static EDListNode * +static CamelDListNode * imap_entry_load (CamelOfflineJournal *journal, FILE *in) { CamelIMAPJournalEntry *entry; @@ -217,7 +217,7 @@ imap_entry_load (CamelOfflineJournal *journal, FILE *in) } d(g_print ("CHEN DEBUG: Atlast got one entry \n")); - return (EDListNode *) entry; + return (CamelDListNode *) entry; exception: switch (entry->type) { @@ -245,7 +245,7 @@ encode_uids (FILE *file, GPtrArray *uids) } static int -imap_entry_write (CamelOfflineJournal *journal, EDListNode *entry, FILE *out) +imap_entry_write (CamelOfflineJournal *journal, CamelDListNode *entry, FILE *out) { CamelIMAPJournalEntry *imap_entry = (CamelIMAPJournalEntry *) entry; GPtrArray *uids = NULL; @@ -311,7 +311,7 @@ journal_decode_folder (CamelIMAPJournal *journal, const char *name) } int -imap_entry_play (CamelOfflineJournal *journal, EDListNode *entry, CamelException *ex) +imap_entry_play (CamelOfflineJournal *journal, CamelDListNode *entry, CamelException *ex) { CamelIMAPJournalEntry *imap_entry = (CamelIMAPJournalEntry *) entry; @@ -436,7 +436,7 @@ camel_imap_journal_log (CamelOfflineJournal *journal, CamelOfflineAction action, va_end (ap); - e_dlist_addtail (&journal->queue, (EDListNode *) entry); + camel_dlist_addtail (&journal->queue, (CamelDListNode *) entry); camel_offline_journal_write (journal, NULL); } diff --git a/camel/providers/imap/camel-imap-journal.h b/camel/providers/imap/camel-imap-journal.h index 3c90696..6af6c62 100644 --- a/camel/providers/imap/camel-imap-journal.h +++ b/camel/providers/imap/camel-imap-journal.h @@ -28,6 +28,7 @@ #include +#include #include #include @@ -53,7 +54,7 @@ typedef enum { } CamelOfflineAction; struct _CamelIMAPJournalEntry { - EDListNode node; + CamelDListNode node; CamelOfflineAction type; diff --git a/camel/providers/imap/camel-imap-search.c b/camel/providers/imap/camel-imap-search.c index cdf318c..54e15bc 100644 --- a/camel/providers/imap/camel-imap-search.c +++ b/camel/providers/imap/camel-imap-search.c @@ -115,7 +115,7 @@ camel_imap_search_class_init (CamelImapSearchClass *camel_imap_search_class) static void camel_imap_search_init(CamelImapSearch *is) { - e_dlist_init(&is->matches); + camel_dlist_init(&is->matches); is->matches_hash = g_hash_table_new(g_str_hash, g_str_equal); is->matches_count = 0; is->lastuid = 0; @@ -126,7 +126,7 @@ camel_imap_search_finalise(CamelImapSearch *is) { struct _match_record *mr; - while ( (mr = (struct _match_record *)e_dlist_remtail(&is->matches)) ) + while ( (mr = (struct _match_record *)camel_dlist_remtail(&is->matches)) ) free_match(is, mr); g_hash_table_destroy(is->matches_hash); if (is->cache) @@ -395,7 +395,7 @@ get_match(CamelImapSearch *is, int argc, struct _ESExpResult **argv) mr = g_hash_table_lookup(is->matches_hash, hash); if (mr == NULL) { while (is->matches_count >= MATCH_CACHE_SIZE) { - mr = (struct _match_record *)e_dlist_remtail(&is->matches); + mr = (struct _match_record *)camel_dlist_remtail(&is->matches); if (mr) { printf("expiring match '%s' (%s)\n", mr->hash, mr->terms[0]); g_hash_table_remove(is->matches_hash, mr->hash); @@ -409,10 +409,10 @@ get_match(CamelImapSearch *is, int argc, struct _ESExpResult **argv) g_hash_table_insert(is->matches_hash, mr->hash, mr); is->matches_count++; } else { - e_dlist_remove((EDListNode *)mr); + camel_dlist_remove((CamelDListNode *)mr); } - e_dlist_addhead(&is->matches, (EDListNode *)mr); + camel_dlist_addhead(&is->matches, (CamelDListNode *)mr); /* what about offline mode? */ /* We could cache those results too, or should we cache them elsewhere? */ diff --git a/camel/providers/imap/camel-imap-search.h b/camel/providers/imap/camel-imap-search.h index f2ec0e4..e9be55e 100644 --- a/camel/providers/imap/camel-imap-search.h +++ b/camel/providers/imap/camel-imap-search.h @@ -27,7 +27,7 @@ #define _CAMEL_IMAP_SEARCH_H #include -#include +#include #include #define CAMEL_IMAP_SEARCH_TYPE (camel_imap_search_get_type ()) @@ -49,7 +49,7 @@ struct _CamelImapSearch { /* cache of body search matches */ unsigned int matches_count; - EDList matches; + CamelDList matches; GHashTable *matches_hash; }; diff --git a/camel/providers/imap/camel-imap-store.h b/camel/providers/imap/camel-imap-store.h index 8f41b07..bc9b904 100644 --- a/camel/providers/imap/camel-imap-store.h +++ b/camel/providers/imap/camel-imap-store.h @@ -26,18 +26,18 @@ #define CAMEL_IMAP_STORE_H 1 #include "camel-imap-types.h" +#include #include #include #ifdef ENABLE_THREADS -#include G_BEGIN_DECLS typedef struct _CamelImapMsg CamelImapMsg; struct _CamelImapMsg { - EMsg msg; + CamelMsg msg; void (*receive)(CamelImapStore *store, struct _CamelImapMsg *m); void (*free)(CamelImapStore *store, struct _CamelImapMsg *m); diff --git a/camel/providers/imap/camel-imap-wrapper.c b/camel/providers/imap/camel-imap-wrapper.c index 13603c2..e64c389 100644 --- a/camel/providers/imap/camel-imap-wrapper.c +++ b/camel/providers/imap/camel-imap-wrapper.c @@ -28,8 +28,6 @@ #include #include -#include - #include "camel-exception.h" #include "camel-mime-filter-basic.h" #include "camel-mime-filter-charset.h" diff --git a/camel/providers/imap4/ChangeLog b/camel/providers/imap4/ChangeLog index 0a0698f..b0c40de 100644 --- a/camel/providers/imap4/ChangeLog +++ b/camel/providers/imap4/ChangeLog @@ -1,3 +1,16 @@ +2008-08-06 Matthew Barnes + + ** Fixes part of bug #545877 + + * camel-imap4-command.c: + * camel-imap4-command.h: + * camel-imap4-engine.c: + * camel-imap4-engine.h: + * camel-imap4-search.h: + * camel-imap4-journal.c: + * camel-imap4-journal.h: + Use CamelDList instead of EDList. + 2008-07-19 Jeffrey Stedfast * camel-imap4-store.c: s/Unknown/Unknown error/g diff --git a/camel/providers/imap4/camel-imap4-command.c b/camel/providers/imap4/camel-imap4-command.c index 84ac94c..c26a362 100644 --- a/camel/providers/imap4/camel-imap4-command.c +++ b/camel/providers/imap4/camel-imap4-command.c @@ -334,8 +334,8 @@ camel_imap4_command_newv (CamelIMAP4Engine *engine, CamelIMAP4Folder *imap4_fold g_string_free (str, FALSE); ic = g_new0 (CamelIMAP4Command, 1); - ((EDListNode *) ic)->next = NULL; - ((EDListNode *) ic)->prev = NULL; + ((CamelDListNode *) ic)->next = NULL; + ((CamelDListNode *) ic)->prev = NULL; ic->untagged = g_hash_table_new (g_str_hash, g_str_equal); ic->status = CAMEL_IMAP4_COMMAND_QUEUED; ic->result = CAMEL_IMAP4_RESULT_NONE; diff --git a/camel/providers/imap4/camel-imap4-command.h b/camel/providers/imap4/camel-imap4-command.h index 976b012..bc0da25 100644 --- a/camel/providers/imap4/camel-imap4-command.h +++ b/camel/providers/imap4/camel-imap4-command.h @@ -27,10 +27,9 @@ #include -#include - #include #include +#include #include G_BEGIN_DECLS @@ -93,7 +92,7 @@ enum { }; struct _CamelIMAP4Command { - EDListNode node; + CamelDListNode node; struct _CamelIMAP4Engine *engine; diff --git a/camel/providers/imap4/camel-imap4-engine.c b/camel/providers/imap4/camel-imap4-engine.c index 74e0955..5a27b3e 100644 --- a/camel/providers/imap4/camel-imap4-engine.c +++ b/camel/providers/imap4/camel-imap4-engine.c @@ -116,14 +116,14 @@ camel_imap4_engine_init (CamelIMAP4Engine *engine, CamelIMAP4EngineClass *klass) engine->folder = NULL; - e_dlist_init (&engine->queue); + camel_dlist_init (&engine->queue); } static void camel_imap4_engine_finalize (CamelObject *object) { CamelIMAP4Engine *engine = (CamelIMAP4Engine *) object; - EDListNode *node; + CamelDListNode *node; if (engine->istream) camel_object_unref (engine->istream); @@ -141,7 +141,7 @@ camel_imap4_engine_finalize (CamelObject *object) if (engine->folder) camel_object_unref (engine->folder); - while ((node = e_dlist_remhead (&engine->queue))) { + while ((node = camel_dlist_remhead (&engine->queue))) { node->next = NULL; node->prev = NULL; @@ -1365,7 +1365,7 @@ camel_imap4_engine_iterate (CamelIMAP4Engine *engine) int retries = 0; int retval; - if (e_dlist_empty (&engine->queue)) + if (camel_dlist_empty (&engine->queue)) return 0; retry: @@ -1382,7 +1382,7 @@ camel_imap4_engine_iterate (CamelIMAP4Engine *engine) if (!connected) { /* pop the first command and act as tho it failed (which, technically, it did...) */ - ic = (CamelIMAP4Command *) e_dlist_remhead (&engine->queue); + ic = (CamelIMAP4Command *) camel_dlist_remhead (&engine->queue); ic->status = CAMEL_IMAP4_COMMAND_ERROR; camel_exception_xfer (&ic->ex, &rex); camel_imap4_command_unref (ic); @@ -1393,7 +1393,7 @@ camel_imap4_engine_iterate (CamelIMAP4Engine *engine) /* check to see if we need to pre-queue a SELECT, if so do it */ engine_prequeue_folder_select (engine); - engine->current = ic = (CamelIMAP4Command *) e_dlist_remhead (&engine->queue); + engine->current = ic = (CamelIMAP4Command *) camel_dlist_remhead (&engine->queue); ic->status = CAMEL_IMAP4_COMMAND_ACTIVE; if ((retval = imap4_process_command (engine, ic)) != -1) { @@ -1407,7 +1407,7 @@ camel_imap4_engine_iterate (CamelIMAP4Engine *engine) * over to @nic and pretend we just processed @nic. **/ - nic = (CamelIMAP4Command *) e_dlist_remhead (&engine->queue); + nic = (CamelIMAP4Command *) camel_dlist_remhead (&engine->queue); nic->status = ic->status; nic->result = ic->result; @@ -1424,7 +1424,7 @@ camel_imap4_engine_iterate (CamelIMAP4Engine *engine) retval = ic->id; } else if (!engine->reconnecting && retries < 3) { /* put @ic back in the queue and retry */ - e_dlist_addhead (&engine->queue, (EDListNode *) ic); + camel_dlist_addhead (&engine->queue, (CamelDListNode *) ic); camel_imap4_command_reset (ic); retries++; goto retry; @@ -1466,7 +1466,7 @@ camel_imap4_engine_queue (CamelIMAP4Engine *engine, CamelFolder *folder, const c va_end (args); ic->id = engine->nextid++; - e_dlist_addtail (&engine->queue, (EDListNode *) ic); + camel_dlist_addtail (&engine->queue, (CamelDListNode *) ic); camel_imap4_command_ref (ic); return ic; @@ -1497,15 +1497,15 @@ camel_imap4_engine_prequeue (CamelIMAP4Engine *engine, CamelFolder *folder, cons ic = camel_imap4_command_newv (engine, (CamelIMAP4Folder *) folder, format, args); va_end (args); - if (e_dlist_empty (&engine->queue)) { - e_dlist_addtail (&engine->queue, (EDListNode *) ic); + if (camel_dlist_empty (&engine->queue)) { + camel_dlist_addtail (&engine->queue, (CamelDListNode *) ic); ic->id = engine->nextid++; } else { CamelIMAP4Command *nic; - EDListNode *node; + CamelDListNode *node; - node = (EDListNode *) ic; - e_dlist_addhead (&engine->queue, node); + node = (CamelDListNode *) ic; + camel_dlist_addhead (&engine->queue, node); nic = (CamelIMAP4Command *) node->next; ic->id = nic->id - 1; @@ -1536,12 +1536,12 @@ camel_imap4_engine_prequeue (CamelIMAP4Engine *engine, CamelFolder *folder, cons void camel_imap4_engine_dequeue (CamelIMAP4Engine *engine, CamelIMAP4Command *ic) { - EDListNode *node = (EDListNode *) ic; + CamelDListNode *node = (CamelDListNode *) ic; if (node->next == NULL && node->prev == NULL) return; - e_dlist_remove (node); + camel_dlist_remove (node); node->next = NULL; node->prev = NULL; diff --git a/camel/providers/imap4/camel-imap4-engine.h b/camel/providers/imap4/camel-imap4-engine.h index 352717d..8a684ee 100644 --- a/camel/providers/imap4/camel-imap4-engine.h +++ b/camel/providers/imap4/camel-imap4-engine.h @@ -27,11 +27,10 @@ #include -#include - #include #include #include +#include #define CAMEL_TYPE_IMAP4_ENGINE (camel_imap4_engine_get_type ()) #define CAMEL_IMAP4_ENGINE(obj) (CAMEL_CHECK_CAST ((obj), CAMEL_TYPE_IMAP4_ENGINE, CamelIMAP4Engine)) @@ -182,7 +181,7 @@ struct _CamelIMAP4Engine { struct _CamelIMAP4Folder *folder; /* currently selected folder */ - EDList queue; /* queue of waiting commands */ + CamelDList queue; /* queue of waiting commands */ struct _CamelIMAP4Command *current; }; diff --git a/camel/providers/imap4/camel-imap4-journal.c b/camel/providers/imap4/camel-imap4-journal.c index c4e7faf..70b88ec 100644 --- a/camel/providers/imap4/camel-imap4-journal.c +++ b/camel/providers/imap4/camel-imap4-journal.c @@ -50,10 +50,10 @@ static void camel_imap4_journal_class_init (CamelIMAP4JournalClass *klass); static void camel_imap4_journal_init (CamelIMAP4Journal *journal, CamelIMAP4JournalClass *klass); static void camel_imap4_journal_finalize (CamelObject *object); -static void imap4_entry_free (CamelOfflineJournal *journal, EDListNode *entry); -static EDListNode *imap4_entry_load (CamelOfflineJournal *journal, FILE *in); -static int imap4_entry_write (CamelOfflineJournal *journal, EDListNode *entry, FILE *out); -static int imap4_entry_play (CamelOfflineJournal *journal, EDListNode *entry, CamelException *ex); +static void imap4_entry_free (CamelOfflineJournal *journal, CamelDListNode *entry); +static CamelDListNode *imap4_entry_load (CamelOfflineJournal *journal, FILE *in); +static int imap4_entry_write (CamelOfflineJournal *journal, CamelDListNode *entry, FILE *out); +static int imap4_entry_play (CamelOfflineJournal *journal, CamelDListNode *entry, CamelException *ex); static CamelOfflineJournalClass *parent_class = NULL; @@ -111,7 +111,7 @@ camel_imap4_journal_finalize (CamelObject *object) } static void -imap4_entry_free (CamelOfflineJournal *journal, EDListNode *entry) +imap4_entry_free (CamelOfflineJournal *journal, CamelDListNode *entry) { CamelIMAP4JournalEntry *imap4_entry = (CamelIMAP4JournalEntry *) entry; @@ -119,7 +119,7 @@ imap4_entry_free (CamelOfflineJournal *journal, EDListNode *entry) g_free (imap4_entry); } -static EDListNode * +static CamelDListNode * imap4_entry_load (CamelOfflineJournal *journal, FILE *in) { CamelIMAP4JournalEntry *entry; @@ -139,7 +139,7 @@ imap4_entry_load (CamelOfflineJournal *journal, FILE *in) goto exception; } - return (EDListNode *) entry; + return (CamelDListNode *) entry; exception: @@ -157,7 +157,7 @@ imap4_entry_load (CamelOfflineJournal *journal, FILE *in) } static int -imap4_entry_write (CamelOfflineJournal *journal, EDListNode *entry, FILE *out) +imap4_entry_write (CamelOfflineJournal *journal, CamelDListNode *entry, FILE *out) { CamelIMAP4JournalEntry *imap4_entry = (CamelIMAP4JournalEntry *) entry; @@ -259,7 +259,7 @@ imap4_entry_play_append (CamelOfflineJournal *journal, CamelIMAP4JournalEntry *e } static int -imap4_entry_play (CamelOfflineJournal *journal, EDListNode *entry, CamelException *ex) +imap4_entry_play (CamelOfflineJournal *journal, CamelDListNode *entry, CamelException *ex) { CamelIMAP4JournalEntry *imap4_entry = (CamelIMAP4JournalEntry *) entry; @@ -347,7 +347,7 @@ camel_imap4_journal_append (CamelIMAP4Journal *imap4_journal, CamelMimeMessage * entry->type = CAMEL_IMAP4_JOURNAL_ENTRY_APPEND; entry->v.append_uid = uid; - e_dlist_addtail (&journal->queue, (EDListNode *) entry); + camel_dlist_addtail (&journal->queue, (CamelDListNode *) entry); info = camel_folder_summary_info_new_from_message (folder->summary, message); g_free(info->uid); diff --git a/camel/providers/imap4/camel-imap4-journal.h b/camel/providers/imap4/camel-imap4-journal.h index 62de056..e2fc8d4 100644 --- a/camel/providers/imap4/camel-imap4-journal.h +++ b/camel/providers/imap4/camel-imap4-journal.h @@ -50,7 +50,7 @@ enum { }; struct _CamelIMAP4JournalEntry { - EDListNode node; + CamelDListNode node; int type; diff --git a/camel/providers/imap4/camel-imap4-search.h b/camel/providers/imap4/camel-imap4-search.h index c6f6071..67ad616 100644 --- a/camel/providers/imap4/camel-imap4-search.h +++ b/camel/providers/imap4/camel-imap4-search.h @@ -24,10 +24,9 @@ #ifndef __CAMEL_IMAP4_SEARCH_H__ #define __CAMEL_IMAP4_SEARCH_H__ -#include - #include #include +#include #define CAMEL_IMAP4_SEARCH_TYPE (camel_imap4_search_get_type ()) #define CAMEL_IMAP4_SEARCH(obj) CAMEL_CHECK_CAST (obj, camel_imap4_search_get_type (), CamelIMAP4Search) @@ -52,7 +51,7 @@ struct _CamelIMAP4Search { CamelDataCache *cache; /* disk-cache for searches */ /* cache of body search matches */ - EDList matches; + CamelDList matches; GHashTable *matches_hash; unsigned int matches_count; }; diff --git a/camel/providers/imapp/ChangeLog b/camel/providers/imapp/ChangeLog index 636b8ae..8662b2d 100644 --- a/camel/providers/imapp/ChangeLog +++ b/camel/providers/imapp/ChangeLog @@ -1,3 +1,14 @@ +2008-08-06 Matthew Barnes + + ** Fixes part of bug #545877 + + * camel-imapp-driver.c: + * camel-imapp-driver.h: + * camel-imapp-engine.c: + * camel-imapp-engine.h: + * camel-imapp-store.c: + Use CamelDList instead of EDList. + 2008-08-01 Matthew Barnes * camel-imapp-store-summary.c: diff --git a/camel/providers/imapp/camel-imapp-driver.c b/camel/providers/imapp/camel-imapp-driver.c index 5b9f79d..815ac68 100644 --- a/camel/providers/imapp/camel-imapp-driver.c +++ b/camel/providers/imapp/camel-imapp-driver.c @@ -11,6 +11,7 @@ #include "camel-folder-summary.h" #include "camel-mime-utils.h" +#include "camel-msgport.h" #include "camel-sasl.h" #include "camel-store.h" #include "camel-stream-mem.h" @@ -41,8 +42,8 @@ static void object_init(CamelIMAPPDriver *ie, CamelIMAPPDriverClass *ieclass) { ie->summary = g_ptr_array_new(); - e_dlist_init(&ie->body_fetch); - e_dlist_init(&ie->body_fetch_done); + camel_dlist_init(&ie->body_fetch); + camel_dlist_init(&ie->body_fetch_done); } static void @@ -462,7 +463,7 @@ camel_imapp_driver_fetch(CamelIMAPPDriver *id, CamelIMAPPFolder *folder, const c fd->done = done; fd->data = data; - e_dlist_addtail(&id->body_fetch, (EDListNode *)&fd); + camel_dlist_addtail(&id->body_fetch, (CamelDListNode *)&fd); CAMEL_TRY { camel_imapp_driver_select(id, folder); @@ -477,7 +478,7 @@ camel_imapp_driver_fetch(CamelIMAPPDriver *id, CamelIMAPPFolder *folder, const c /* FIXME: do exception properly */ } CAMEL_DONE; - e_dlist_remove((EDListNode *)&fd); + camel_dlist_remove((CamelDListNode *)&fd); return fd.data; } @@ -760,8 +761,8 @@ driver_resp_fetch(CamelIMAPPEngine *ie, guint32 id, CamelIMAPPDriver *sdata) while (fn) { if (!strcmp(finfo->uid, fd->uid) && !strcmp(finfo->section, fd->section)) { fd->done(sdata, fd); - e_dlist_remove((EDListNode *)fd); - e_dlist_addtail(&sdata->body_fetch_done, (EDListNode *)fd); + camel_dlist_remove((CamelDListNode *)fd); + camel_dlist_addtail(&sdata->body_fetch_done, (CamelDListNode *)fd); break; } fd = fn; @@ -794,7 +795,7 @@ typedef enum { typedef struct _CamelIMAPPMsg CamelIMAPPMsg; struct _CamelIMAPPMsg { - EMsg msg; + CamelMsg msg; CamelOperation *cancel; CamelException *ex; camel_imapp_msg_t type; @@ -930,7 +931,7 @@ camel_imapp_driver_worker(CamelIMAPPDriver *id) /*m = (CamelIMAPPMsg *)camel_msgport_try_pop(id->queue);*/ switch (m->type) { case CAMEL_IMAPP_MSG_FETCH: - /*e_dlist_addtail(&id->fetch_queue, (EDListNode *)m);*/ + /*camel_dlist_addtail(&id->fetch_queue, (CamelDListNode *)m);*/ camel_imapp_driver_select(id, m->data.fetch.folder); break; case CAMEL_IMAPP_MSG_LIST: diff --git a/camel/providers/imapp/camel-imapp-driver.h b/camel/providers/imapp/camel-imapp-driver.h index edebee5..da72499 100644 --- a/camel/providers/imapp/camel-imapp-driver.h +++ b/camel/providers/imapp/camel-imapp-driver.h @@ -2,9 +2,10 @@ #ifndef _CAMEL_IMAPP_DRIVER_H #define _CAMEL_IMAPP_DRIVER_H +#include #include + #include "camel-imapp-stream.h" -#include #define CAMEL_IMAPP_DRIVER_TYPE (camel_imapp_driver_get_type ()) #define CAMEL_IMAPP_DRIVER(obj) (CAMEL_CHECK_CAST((obj), CAMEL_IMAPP_DRIVER_TYPE, CamelIMAPPDriver)) @@ -63,8 +64,8 @@ struct _CamelIMAPPDriver { /* sem_t list_sem; for controlled access to list variables */ /* this is so the node is always in a list - easier exception management */ - EDList body_fetch; - EDList body_fetch_done; + CamelDList body_fetch; + CamelDList body_fetch_done; /* factory to get an appropriate sasl mech */ CamelIMAPPSASLFunc get_sasl; diff --git a/camel/providers/imapp/camel-imapp-engine.c b/camel/providers/imapp/camel-imapp-engine.c index 9b0dbf0..aafd3dd 100644 --- a/camel/providers/imapp/camel-imapp-engine.c +++ b/camel/providers/imapp/camel-imapp-engine.c @@ -41,8 +41,8 @@ static void object_init(CamelIMAPPEngine *ie, CamelIMAPPEngineClass *ieclass) { ie->handlers = g_hash_table_new(g_str_hash, g_str_equal); - e_dlist_init(&ie->active); - e_dlist_init(&ie->done); + camel_dlist_init(&ie->active); + camel_dlist_init(&ie->done); ie->port = camel_msgport_new(); @@ -510,7 +510,7 @@ iterate_continuation(CamelIMAPPEngine *imap) } if (imap->literal == NULL) { - ic = (CamelIMAPPCommand *)e_dlist_remhead(&imap->queue); + ic = (CamelIMAPPCommand *)camel_dlist_remhead(&imap->queue); if (ic) { printf("found outstanding op, queueing\n"); camel_imapp_engine_command_queue(imap, ic); @@ -536,8 +536,8 @@ iterate_completion(CamelIMAPPEngine *imap, unsigned char *token) printf("Got completion response for command %05u '%s'\n", ic->tag, ic->name); printf("%p: removing command from qwueue, we were at '%s'\n", ic, ic->current->data); printf("%p: removing command\n", ic); - e_dlist_remove((EDListNode *)ic); - e_dlist_addtail(&imap->done, (EDListNode *)ic); + camel_dlist_remove((CamelDListNode *)ic); + camel_dlist_addtail(&imap->done, (CamelDListNode *)ic); if (imap->literal == ic) imap->literal = NULL; ic->status = imap_parse_status(imap->stream); @@ -561,12 +561,12 @@ iterate_completion(CamelIMAPPEngine *imap, unsigned char *token) printf("Warning: continuation command '%s' finished with outstanding continuation\n", imap->literal->name); ic = imap->literal; /* set the command complete with a failure code? */ - e_dlist_remove((EDListNode *)ic); - e_dlist_addtail(&imap->done, (EDListNode *)ic); + camel_dlist_remove((CamelDListNode *)ic); + camel_dlist_addtail(&imap->done, (CamelDListNode *)ic); imap->literal = NULL; } - ic = (CamelIMAPPCommand *)e_dlist_remhead(&imap->queue); + ic = (CamelIMAPPCommand *)camel_dlist_remhead(&imap->queue); if (ic) { printf("found outstanding op, queueing\n"); camel_imapp_engine_command_queue(imap, ic); @@ -585,7 +585,7 @@ camel_imapp_engine_iterate(CamelIMAPPEngine *imap, CamelIMAPPCommand *icwait) unsigned char *token; int tok; - if ((icwait && icwait->status != NULL) || e_dlist_empty(&imap->active)) + if ((icwait && icwait->status != NULL) || camel_dlist_empty(&imap->active)) return 0; /* handle exceptions here? */ @@ -602,7 +602,7 @@ camel_imapp_engine_iterate(CamelIMAPPEngine *imap, CamelIMAPPCommand *icwait) else camel_exception_throw(1, "unexpected server response: %s", token); - if (e_dlist_empty(&imap->active)) + if (camel_dlist_empty(&imap->active)) return 0; return 1; @@ -619,7 +619,7 @@ camel_imapp_engine_command_new(CamelIMAPPEngine *imap, const char *name, const c ic->name = name; ic->mem = (CamelStreamMem *)camel_stream_mem_new(); ic->select = g_strdup(select); - e_dlist_init(&ic->parts); + camel_dlist_init(&ic->parts); if (fmt && fmt[0]) { va_start(ap, fmt); @@ -667,7 +667,7 @@ camel_imapp_engine_command_free (CamelIMAPPEngine *imap, CamelIMAPPCommand *ic) imap_free_status(ic->status); g_free(ic->select); - while ( (cp = ((CamelIMAPPCommandPart *)e_dlist_remhead(&ic->parts))) ) { + while ( (cp = ((CamelIMAPPCommandPart *)camel_dlist_remhead(&ic->parts))) ) { g_free(cp->data); if (cp->ob) camel_object_unref(cp->ob); @@ -688,7 +688,7 @@ camel_imapp_engine_command_queue(CamelIMAPPEngine *imap, CamelIMAPPCommand *ic) if (ic->mem) imap_engine_command_complete(imap, ic); - camel_msgport_push(imap->port, (EMsg *)ic); + camel_msgport_push(imap->port, (CamelMsg *)ic); } CamelIMAPPCommand * @@ -827,14 +827,14 @@ imap_engine_command_add_part(CamelIMAPPEngine *imap, CamelIMAPPCommand *ic, came /* FIXME: hackish? */ g_byte_array_set_size(ic->mem->buffer, 0); - e_dlist_addtail(&ic->parts, (EDListNode *)cp); + camel_dlist_addtail(&ic->parts, (CamelDListNode *)cp); } #if c(!)0 -static int len(EDList *list) +static int len(CamelDList *list) { int count = 0; - EDListNode *n = list->head; + CamelDListNode *n = list->head; while (n->next) { n = n->next; @@ -1023,7 +1023,7 @@ cie_worker(void *data) /* first, check if command can be sent yet ... queue if not */ if (imap->literal != NULL) { printf("%p: queueing while literal active\n", ic); - e_dlist_addtail(&imap->queue, (EDListNode *)ic); + camel_dlist_addtail(&imap->queue, (CamelDListNode *)ic); return; } @@ -1040,11 +1040,11 @@ cie_worker(void *data) printf("%p: active literal\n", ic); g_assert(cp->next); imap->literal = ic; - e_dlist_addtail(&imap->active, (EDListNode *)ic); + camel_dlist_addtail(&imap->active, (CamelDListNode *)ic); } else { printf("%p: active non-literal\n", ic); g_assert(cp->next && cp->next->next == NULL); - e_dlist_addtail(&imap->active, (EDListNode *)ic); + camel_dlist_addtail(&imap->active, (CamelDListNode *)ic); } } diff --git a/camel/providers/imapp/camel-imapp-engine.h b/camel/providers/imapp/camel-imapp-engine.h index 1599ea5..163ca81 100644 --- a/camel/providers/imapp/camel-imapp-engine.h +++ b/camel/providers/imapp/camel-imapp-engine.h @@ -2,10 +2,11 @@ #ifndef _CAMEL_IMAPP_ENGINE_H #define _CAMEL_IMAPP_ENGINE_H +#include +#include #include #include "camel-imapp-stream.h" -#include #include "camel-imapp-folder.h" #define CAMEL_IMAPP_ENGINE_TYPE (camel_imapp_engine_get_type ()) @@ -49,7 +50,7 @@ typedef int (*CamelIMAPPEngineFunc)(struct _CamelIMAPPEngine *engine, guint32 id typedef void (*CamelIMAPPCommandFunc)(struct _CamelIMAPPEngine *engine, struct _CamelIMAPPCommand *, void *data); struct _CamelIMAPPCommand { - EMsg msg; + CamelMsg msg; const char *name; /* command name/type (e.g. FETCH) */ @@ -60,7 +61,7 @@ struct _CamelIMAPPCommand { unsigned int tag; struct _CamelStreamMem *mem; /* for building the part */ - EDList parts; + CamelDList parts; CamelIMAPPCommandPart *current; CamelIMAPPCommandFunc complete; @@ -100,7 +101,7 @@ struct _CamelIMAPPEngine { CamelObject parent_object; /* incoming requests */ - EMsgPort *port; + CamelMsgPort *port; CamelIMAPPStream *stream; @@ -116,9 +117,9 @@ struct _CamelIMAPPEngine { char *select; /* *currently* selected folder */ char *last_select; /* last selected or to-be selected folder (e.g. outstanding queued select) */ CamelIMAPPCommand *literal;/* current literal op */ - EDList active; /* active queue */ - EDList queue; /* outstanding queue */ - EDList done; /* done queue, awaiting reclamation */ + CamelDList active; /* active queue */ + CamelDList queue; /* outstanding queue */ + CamelDList done; /* done queue, awaiting reclamation */ /* keep track of running a select */ struct _CamelIMAPPSelectResponse *select_response; diff --git a/camel/providers/imapp/camel-imapp-store.c b/camel/providers/imapp/camel-imapp-store.c index a1dc9ea..ce04901 100644 --- a/camel/providers/imapp/camel-imapp-store.c +++ b/camel/providers/imapp/camel-imapp-store.c @@ -861,7 +861,7 @@ static int store_resp_fetch(CamelIMAPPEngine *ie, guint32 id, void *data) camel_folder_summary_add(((CamelFolder *)istore->selected)->summary, info); camel_folder_change_info_add_uid(istore->selected->changes, finfo->uid); if (pending) { - e_dlist_remove((EDListNode *)pending); + camel_dlist_remove((CamelDListNode *)pending); g_hash_table_remove(istore->pending_fetch_table, finfo->uid); /*e_memchunk_free(istore->pending_fetch_chunks, pending);*/ } @@ -881,7 +881,7 @@ static int store_resp_fetch(CamelIMAPPEngine *ie, guint32 id, void *data) camel_folder_change_info_add_uid(istore->selected->changes, finfo->uid); if (pending) { /* FIXME: use a dlist */ - e_dlist_remove((EDListNode *)pending); + camel_dlist_remove((CamelDListNode *)pending); g_hash_table_remove(istore->pending_fetch_table, camel_message_info_uid(pending->info)); camel_message_info_free(pending->info); /*e_memchunk_free(istore->pending_fetch_chunks, pending);*/ @@ -891,7 +891,7 @@ static int store_resp_fetch(CamelIMAPPEngine *ie, guint32 id, void *data) pending = e_memchunk_alloc(istore->pending_fetch_chunks); pending->info = info; g_hash_table_insert(istore->pending_fetch_table, (char *)camel_message_info_uid(info), pending); - e_dlist_addtail(&istore->pending_fetch_list, (EDListNode *)pending); + camel_dlist_addtail(&istore->pending_fetch_list, (CamelDListNode *)pending); } } else { if (pending == NULL) @@ -979,7 +979,7 @@ camel_imapp_store_folder_selected(CamelIMAPPStore *store, CamelIMAPPFolder *fold fn = fn->next; } - printf("The pending list should now be empty: %s\n", e_dlist_empty(&istore->pending_fetch_list)?"TRUE":"FALSE"); + printf("The pending list should now be empty: %s\n", camel_dlist_empty(&istore->pending_fetch_list)?"TRUE":"FALSE"); for (i=0;i<10;i++) { info = camel_folder_summary_index(((CamelFolder *)istore->selected)->summary, i); if (info) { diff --git a/camel/providers/local/ChangeLog b/camel/providers/local/ChangeLog index 73883a6..1c8452e 100644 --- a/camel/providers/local/ChangeLog +++ b/camel/providers/local/ChangeLog @@ -1,3 +1,10 @@ +2008-08-06 Matthew Barnes + + ** Fixes part of bug #545877 + + * camel-maildir-store.c: + Use CamelDList instead of EDList. + 2008-08-05 Srinivasa Ragavan * camel/providers/local/camel-spool-summary.c: Load spool's summary diff --git a/camel/providers/local/camel-maildir-store.c b/camel/providers/local/camel-maildir-store.c index 8c273fe..566b3b5 100644 --- a/camel/providers/local/camel-maildir-store.c +++ b/camel/providers/local/camel-maildir-store.c @@ -33,6 +33,7 @@ #include #include "camel-exception.h" +#include "camel-list-utils.h" #include "camel-private.h" #include "camel-url.h" @@ -402,7 +403,7 @@ static CamelFolderInfo *scan_fi(CamelStore *store, guint32 flags, CamelURL *url, static int scan_dirs(CamelStore *store, guint32 flags, CamelFolderInfo *topfi, CamelURL *url, CamelException *ex) { - EDList queue = E_DLIST_INITIALISER(queue); + CamelDList queue = CAMEL_DLIST_INITIALISER(queue); struct _scan_node *sn; const char *root = ((CamelService *)store)->url->path; char *tmp; @@ -414,16 +415,16 @@ scan_dirs(CamelStore *store, guint32 flags, CamelFolderInfo *topfi, CamelURL *ur sn = g_malloc0(sizeof(*sn)); sn->fi = topfi; - e_dlist_addtail(&queue, (EDListNode *)sn); + camel_dlist_addtail(&queue, (CamelDListNode *)sn); g_hash_table_insert(visited, sn, sn); - while (!e_dlist_empty(&queue)) { + while (!camel_dlist_empty(&queue)) { char *name; DIR *dir; struct dirent *d; CamelFolderInfo *last; - sn = (struct _scan_node *)e_dlist_remhead(&queue); + sn = (struct _scan_node *)camel_dlist_remhead(&queue); last = (CamelFolderInfo *)&sn->fi->child; @@ -482,7 +483,7 @@ scan_dirs(CamelStore *store, guint32 flags, CamelFolderInfo *topfi, CamelURL *ur g_hash_table_insert(visited, snew, snew); if (((flags & CAMEL_STORE_FOLDER_INFO_RECURSIVE) != 0)) - e_dlist_addtail(&queue, (EDListNode *)snew); + camel_dlist_addtail(&queue, (CamelDListNode *)snew); } } g_free(tmp); diff --git a/camel/providers/nntp/camel-nntp-private.h b/camel/providers/nntp/camel-nntp-private.h index be65769..c0bed12 100644 --- a/camel/providers/nntp/camel-nntp-private.h +++ b/camel/providers/nntp/camel-nntp-private.h @@ -30,8 +30,6 @@ #include #endif -#include - G_BEGIN_DECLS struct _CamelNNTPStorePrivate { diff --git a/camel/providers/pop3/ChangeLog b/camel/providers/pop3/ChangeLog index 46ad5b9..2b6272e 100644 --- a/camel/providers/pop3/ChangeLog +++ b/camel/providers/pop3/ChangeLog @@ -1,3 +1,11 @@ +2008-08-06 Matthew Barnes + + ** Fixes part of bug #545877 + + * camel-pop3-engine.c: + * camel-pop3-engine.h: + Use CamelDList instead of EDList. + 2008-05-19 Matthew Barnes ** Fixes part of bug #531591 diff --git a/camel/providers/pop3/camel-pop3-engine.c b/camel/providers/pop3/camel-pop3-engine.c index 89f2bdc..c70256d 100644 --- a/camel/providers/pop3/camel-pop3-engine.c +++ b/camel/providers/pop3/camel-pop3-engine.c @@ -60,9 +60,9 @@ camel_pop3_engine_class_init (CamelPOP3EngineClass *camel_pop3_engine_class) static void camel_pop3_engine_init(CamelPOP3Engine *pe, CamelPOP3EngineClass *peclass) { - e_dlist_init(&pe->active); - e_dlist_init(&pe->queue); - e_dlist_init(&pe->done); + camel_dlist_init(&pe->active); + camel_dlist_init(&pe->queue); + camel_dlist_init(&pe->done); pe->state = CAMEL_POP3_ENGINE_DISCONNECT; } @@ -255,13 +255,13 @@ engine_command_queue(CamelPOP3Engine *pe, CamelPOP3Command *pc) { if (((pe->capa & CAMEL_POP3_CAP_PIPE) == 0 || (pe->sentlen + strlen(pc->data)) > CAMEL_POP3_SEND_LIMIT) && pe->current != NULL) { - e_dlist_addtail(&pe->queue, (EDListNode *)pc); + camel_dlist_addtail(&pe->queue, (CamelDListNode *)pc); return FALSE; } /* ??? */ if (camel_stream_write((CamelStream *)pe->stream, pc->data, strlen(pc->data)) == -1) { - e_dlist_addtail(&pe->queue, (EDListNode *)pc); + camel_dlist_addtail(&pe->queue, (CamelDListNode *)pc); return FALSE; } @@ -272,7 +272,7 @@ engine_command_queue(CamelPOP3Engine *pe, CamelPOP3Command *pc) if (pe->current == NULL) pe->current = pc; else - e_dlist_addtail(&pe->active, (EDListNode *)pc); + camel_dlist_addtail(&pe->active, (CamelDListNode *)pc); return TRUE; } @@ -326,11 +326,11 @@ camel_pop3_engine_iterate(CamelPOP3Engine *pe, CamelPOP3Command *pcwait) break; } - e_dlist_addtail(&pe->done, (EDListNode *)pc); + camel_dlist_addtail(&pe->done, (CamelDListNode *)pc); pe->sentlen -= strlen(pc->data); /* Set next command */ - pe->current = (CamelPOP3Command *)e_dlist_remhead(&pe->active); + pe->current = (CamelPOP3Command *)camel_dlist_remhead(&pe->active); /* check the queue for sending any we can now send also */ pw = (CamelPOP3Command *)pe->queue.head; @@ -344,7 +344,7 @@ camel_pop3_engine_iterate(CamelPOP3Engine *pe, CamelPOP3Command *pcwait) if (camel_stream_write((CamelStream *)pe->stream, pw->data, strlen(pw->data)) == -1) goto ioerror; - e_dlist_remove((EDListNode *)pw); + camel_dlist_remove((CamelDListNode *)pw); pe->sentlen += strlen(pw->data); pw->state = CAMEL_POP3_COMMAND_DISPATCHED; @@ -352,7 +352,7 @@ camel_pop3_engine_iterate(CamelPOP3Engine *pe, CamelPOP3Command *pcwait) if (pe->current == NULL) pe->current = pw; else - e_dlist_addtail(&pe->active, (EDListNode *)pw); + camel_dlist_addtail(&pe->active, (CamelDListNode *)pw); pw = pn; pn = pn->next; @@ -366,19 +366,19 @@ camel_pop3_engine_iterate(CamelPOP3Engine *pe, CamelPOP3Command *pcwait) return pe->current==NULL?0:1; ioerror: /* we assume all outstanding commands are gunna fail now */ - while ( (pw = (CamelPOP3Command*)e_dlist_remhead(&pe->active)) ) { + while ( (pw = (CamelPOP3Command*)camel_dlist_remhead(&pe->active)) ) { pw->state = CAMEL_POP3_COMMAND_ERR; - e_dlist_addtail(&pe->done, (EDListNode *)pw); + camel_dlist_addtail(&pe->done, (CamelDListNode *)pw); } - while ( (pw = (CamelPOP3Command*)e_dlist_remhead(&pe->queue)) ) { + while ( (pw = (CamelPOP3Command*)camel_dlist_remhead(&pe->queue)) ) { pw->state = CAMEL_POP3_COMMAND_ERR; - e_dlist_addtail(&pe->done, (EDListNode *)pw); + camel_dlist_addtail(&pe->done, (CamelDListNode *)pw); } if (pe->current) { pe->current->state = CAMEL_POP3_COMMAND_ERR; - e_dlist_addtail(&pe->done, (EDListNode *)pe->current); + camel_dlist_addtail(&pe->done, (CamelDListNode *)pe->current); pe->current = NULL; } @@ -410,7 +410,7 @@ void camel_pop3_engine_command_free(CamelPOP3Engine *pe, CamelPOP3Command *pc) { if (pe->current != pc) - e_dlist_remove((EDListNode *)pc); + camel_dlist_remove((CamelDListNode *)pc); g_free(pc->data); g_free(pc); } diff --git a/camel/providers/pop3/camel-pop3-engine.h b/camel/providers/pop3/camel-pop3-engine.h index 6c0b8aa..55f1a12 100644 --- a/camel/providers/pop3/camel-pop3-engine.h +++ b/camel/providers/pop3/camel-pop3-engine.h @@ -22,7 +22,7 @@ #define _CAMEL_POP3_ENGINE_H #include -#include +#include #include "camel-pop3-stream.h" #define CAMEL_POP3_ENGINE(obj) CAMEL_CHECK_CAST (obj, camel_pop3_engine_get_type (), CamelPOP3Engine) @@ -110,9 +110,9 @@ struct _CamelPOP3Engine { unsigned int sentlen; /* data sent (so we dont overflow network buffer) */ - EDList active; /* active commands */ - EDList queue; /* queue of waiting commands */ - EDList done; /* list of done commands, awaiting free */ + CamelDList active; /* active commands */ + CamelDList queue; /* queue of waiting commands */ + CamelDList done; /* list of done commands, awaiting free */ CamelPOP3Command *current; /* currently busy (downloading) response */ }; diff --git a/docs/reference/camel/tmpl/camel-folder-search.sgml b/docs/reference/camel/tmpl/camel-folder-search.sgml index a6fdef4..8db666e 100644 --- a/docs/reference/camel/tmpl/camel-folder-search.sgml +++ b/docs/reference/camel/tmpl/camel-folder-search.sgml @@ -29,8 +29,6 @@ CamelFolderSearch @folder: @summary: @summary_set: -@query: -@summary_hash: @current: @current_message: @body_index: diff --git a/docs/reference/camel/tmpl/camel-imap-folder.sgml b/docs/reference/camel/tmpl/camel-imap-folder.sgml index 91580a3..99a793e 100644 --- a/docs/reference/camel/tmpl/camel-imap-folder.sgml +++ b/docs/reference/camel/tmpl/camel-imap-folder.sgml @@ -26,6 +26,7 @@ CamelImapFolder @priv: @search: @cache: +@journal: @need_rescan: @need_refresh: @read_only: diff --git a/docs/reference/camel/tmpl/camel-imap-utils.sgml b/docs/reference/camel/tmpl/camel-imap-utils.sgml index 6f9bb2b..d0d4053 100644 --- a/docs/reference/camel/tmpl/camel-imap-utils.sgml +++ b/docs/reference/camel/tmpl/camel-imap-utils.sgml @@ -149,8 +149,9 @@ camel-imap-utils -@is: -@Returns: +@body_p: +@folder: +@ci: diff --git a/docs/reference/camel/tmpl/camel-provider.sgml b/docs/reference/camel/tmpl/camel-provider.sgml index 1372d31..13d3cde 100644 --- a/docs/reference/camel/tmpl/camel-provider.sgml +++ b/docs/reference/camel/tmpl/camel-provider.sgml @@ -356,6 +356,7 @@ camel-provider @CAMEL_PROVIDER_CONF_ENTRY: @CAMEL_PROVIDER_CONF_LABEL: @CAMEL_PROVIDER_CONF_HIDDEN: +@CAMEL_PROVIDER_CONF_OPTIONS: diff --git a/docs/reference/camel/tmpl/camel-vee-folder.sgml b/docs/reference/camel/tmpl/camel-vee-folder.sgml index 762143c..d5744d7 100644 --- a/docs/reference/camel/tmpl/camel-vee-folder.sgml +++ b/docs/reference/camel/tmpl/camel-vee-folder.sgml @@ -29,6 +29,7 @@ CamelVeeFolder @changes: @search: @parent_vee_store: +@hashes: