Fix a compilation error with gdbm
[apps/madmutt.git] / hcache.c
index 714c204..496fd09 100644 (file)
--- a/hcache.c
+++ b/hcache.c
@@ -74,7 +74,7 @@ typedef union {
   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;
@@ -85,13 +85,13 @@ static void *lazy_malloc (size_t siz)
 
 static void lazy_realloc(void *ptr, ssize_t siz)
 {
-  void **p = (void **) ptr;
+  char **p = ptr;
 
   if (p != NULL && 0 < siz && siz < 4096) {
     return;
   }
 
-  p_realloc(p, siz);
+  p_realloc(&p, siz);
 }
 
 static unsigned char *dump_int (unsigned int i, unsigned char *d, int *off)
@@ -424,7 +424,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 +635,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 +664,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 +691,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 +712,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 +759,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 +788,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 +817,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 +837,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;
@@ -939,7 +939,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 +967,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 +997,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;