Show
Ignore:
Timestamp:
2007-04-05 18:03:05 (22 months ago)
Author:
Brendan Cully <brendan@…>
Branch:
HEAD
Message:

IMAP header cache API improvements.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • imap/util.c

    r5073 r5074  
    2929#include "mutt_ssl.h" 
    3030#ifdef USE_HCACHE 
     31#include "message.h" 
    3132#include "hcache.h" 
    3233#endif 
     
    8687 
    8788  return mutt_hcache_open (HeaderCache, cachepath); 
     89} 
     90 
     91HEADER* imap_hcache_get (IMAP_DATA* idata, unsigned int uid) 
     92{ 
     93  char key[16]; 
     94  unsigned int* uv; 
     95  HEADER* h = NULL; 
     96 
     97  sprintf(key, "/%u", uid); 
     98  uv = (unsigned int*)mutt_hcache_fetch (idata->hcache, key, 
     99                                         imap_hcache_keylen); 
     100  if (uv) 
     101  { 
     102    if (*uv == idata->uid_validity) 
     103      h = mutt_hcache_restore ((unsigned char*)uv, NULL); 
     104    FREE (&uv); 
     105  } 
     106 
     107  return h; 
     108} 
     109 
     110int imap_hcache_put (IMAP_DATA* idata, HEADER* h) 
     111{ 
     112  char key[16]; 
     113 
     114  sprintf(key, "/%u", HEADER_DATA (h)->uid); 
     115  return mutt_hcache_store (idata->hcache, key, h, idata->uid_validity, 
     116                            imap_hcache_keylen); 
    88117} 
    89118#endif