]> granicus.if.org Git - mutt/commitdiff
this is a fix for hcache.c infrastructure which is about wrongly
authorThomas Glanzmann <sithglan@stud.uni-erlangen.de>
Thu, 3 Feb 2005 19:46:53 +0000 (19:46 +0000)
committerThomas Glanzmann <sithglan@stud.uni-erlangen.de>
Thu, 3 Feb 2005 19:46:53 +0000 (19:46 +0000)
calculate unique id

hcache.c

index 2193236beb29a8e46dc36b7fbbc7bd19cbb9cf8c..2ae2d6331cfe04e30f20add8cd872a46d139bdd3 100644 (file)
--- a/hcache.c
+++ b/hcache.c
@@ -678,7 +678,7 @@ mutt_hcache_fetch(void *db, const char *filename,
   safe_strcat(path, sizeof (path), filename);
 
   key.dptr = path;
-  key.dsize = keylen(path);
+  key.dsize = strlen(h->folder) + keylen(path + strlen(h->folder));
 
   data = gdbm_fetch(h->db, key);
 
@@ -709,7 +709,7 @@ mutt_hcache_store(void *db, const char *filename, HEADER * header,
   safe_strcat(path, sizeof (path), filename);
 
   key.dptr = path;
-  key.dsize = keylen(path);
+  key.dsize = strlen(h->folder) + keylen(path + strlen(h->folder));
 
   data.dptr = mutt_hcache_dump(db, header, &data.dsize, uid_validity);
 
@@ -735,7 +735,7 @@ mutt_hcache_delete(void *db, const char *filename,
   safe_strcat(path, sizeof (path), filename);
 
   key.dptr = path;
-  key.dsize = keylen(path);
+  key.dsize = strlen(h->folder) + keylen(path + strlen(h->folder));
 
   return gdbm_delete(h->db, key);
 }