X-Git-Url: http://git.madism.org/?a=blobdiff_plain;f=hcache.c;h=5dc14e5e73e10fd917b88779ae129644bec47108;hb=711f787502b6a1a1c150b948a5ed9156c8ef9ba1;hp=4b9e7574c3122f586e297bc06f973704f26a5606;hpb=ac813896ca32d850febc2d95065ac4fa040f11f9;p=apps%2Fmadmutt.git diff --git a/hcache.c b/hcache.c index 4b9e757..5dc14e5 100644 --- a/hcache.c +++ b/hcache.c @@ -46,12 +46,13 @@ #include +#include "charset.h" #include "mutt.h" #include #include "mx.h" #include "lib.h" -static struct header_cache { +struct header_cache { #if defined(HAVE_QDBM) VILLA *db; char *folder; @@ -67,14 +68,14 @@ static struct header_cache { int fd; char lockfile[_POSIX_PATH_MAX]; #endif -} HEADER_CACHE; +}; typedef union { struct timeval timeval; unsigned long uid_validity; } validate; -static void *lazy_malloc (size_t siz) +static void *lazy_malloc (ssize_t siz) { if (0 < siz && siz < 4096) { siz = 4096; @@ -424,7 +425,7 @@ static void restore_envelope (ENVELOPE * e, const unsigned char *d, int *off) } static -unsigned int crc32 (unsigned int crc, unsigned char const *p, size_t len) +unsigned int crc32 (unsigned int crc, unsigned char const *p, ssize_t len) { int i; @@ -635,7 +636,7 @@ mutt_hcache_close(void *db) void * mutt_hcache_fetch(void *db, const char *filename, - size_t(*keylen) (const char *fn)) + ssize_t(*keylen) (const char *fn)) { struct header_cache *h = db; char path[_POSIX_PATH_MAX]; @@ -664,7 +665,7 @@ mutt_hcache_fetch(void *db, const char *filename, int mutt_hcache_store(void *db, const char *filename, HEADER * header, unsigned long uid_validity, - size_t(*keylen) (const char *fn)) + ssize_t(*keylen) (const char *fn)) { struct header_cache *h = db; char path[_POSIX_PATH_MAX]; @@ -691,7 +692,7 @@ mutt_hcache_store(void *db, const char *filename, HEADER * header, int mutt_hcache_delete(void *db, const char *filename, - size_t(*keylen) (const char *fn)) + ssize_t(*keylen) (const char *fn)) { struct header_cache *h = db; char path[_POSIX_PATH_MAX]; @@ -712,7 +713,7 @@ mutt_hcache_delete(void *db, const char *filename, void *mutt_hcache_open (const char *path, const char *folder) { - struct header_cache *h = p_new(HEADER_CACHE, 1); + struct header_cache *h = p_new(struct header_cache, 1); int pagesize = atoi (HeaderCachePageSize) ? atoi (HeaderCachePageSize) : 16384; h->db = NULL; @@ -759,7 +760,7 @@ void mutt_hcache_close (void *db) } void *mutt_hcache_fetch (void *db, const char *filename, - size_t (*keylen) (const char *fn)) + ssize_t (*keylen) (const char *fn)) { struct header_cache *h = db; datum key; @@ -788,7 +789,7 @@ void *mutt_hcache_fetch (void *db, const char *filename, int mutt_hcache_store (void *db, const char *filename, HEADER * header, - unsigned long uid_validity, size_t (*keylen) (const char *fn)) + unsigned long uid_validity, ssize_t (*keylen) (const char *fn)) { struct header_cache *h = db; datum key; @@ -817,7 +818,7 @@ mutt_hcache_store (void *db, const char *filename, HEADER * header, int mutt_hcache_delete (void *db, const char *filename, - size_t (*keylen) (const char *fn)) + ssize_t (*keylen) (const char *fn)) { datum key; struct header_cache *h = db; @@ -837,7 +838,7 @@ mutt_hcache_delete (void *db, const char *filename, } #elif defined(HAVE_DB4) -static void mutt_hcache_dbt_init (DBT * dbt, void *data, size_t len) +static void mutt_hcache_dbt_init (DBT * dbt, void *data, ssize_t len) { dbt->data = data; dbt->size = dbt->ulen = len; @@ -857,7 +858,7 @@ void *mutt_hcache_open (const char *path, const char *folder) struct stat sb; u_int32_t createflags = DB_CREATE; int ret; - struct header_cache *h = calloc (1, sizeof (HEADER_CACHE)); + struct header_cache *h = p_new(struct header_cache, 1); int pagesize = atoi (HeaderCachePageSize); @@ -939,7 +940,7 @@ void mutt_hcache_close (void *db) } void *mutt_hcache_fetch (void *db, const char *filename, - size_t (*keylen) (const char *fn)) + ssize_t (*keylen) (const char *fn)) { DBT key; DBT data; @@ -967,7 +968,7 @@ void *mutt_hcache_fetch (void *db, const char *filename, int mutt_hcache_store (void *db, const char *filename, HEADER * header, - unsigned long uid_validity, size_t (*keylen) (const char *fn)) + unsigned long uid_validity, ssize_t (*keylen) (const char *fn)) { DBT key; DBT data; @@ -997,7 +998,7 @@ mutt_hcache_store (void *db, const char *filename, HEADER * header, int mutt_hcache_delete (void *db, const char *filename, - size_t (*keylen) (const char *fn)) + ssize_t (*keylen) (const char *fn)) { DBT key; struct header_cache *h = db;