X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=lib-mx%2Fhcache.c;h=8748adf198c0f859064fb3c382f18b8ea905701f;hp=070e56fee75c9caae8123d94d04745099cc4f3b7;hb=455a2390989dfcfc90899785b0d8e9ac94ebd28e;hpb=342c9d93fa2eed935e8bf2ed9b54564392999f67 diff --git a/lib-mx/hcache.c b/lib-mx/hcache.c index 070e56f..8748adf 100644 --- a/lib-mx/hcache.c +++ b/lib-mx/hcache.c @@ -52,10 +52,10 @@ static unsigned int crc32(unsigned int crc, const void *src, ssize_t len) static int generate_crc32(void) { - static int crc = 0; + int crc = 0; crc = crc32(crc, "madmutt.2007.05.13", m_strlen("madmutt.2007.05.13")); -#ifdef HAVE_LANGINFO_CODESET +#ifdef HAVE_LANGINFO_H crc = crc32(crc, MCharset.charset, m_strlen(MCharset.charset)); #endif crc = crc32(crc, "USE_POP", m_strlen("USE_POP")); @@ -95,6 +95,11 @@ mutt_hcache_per_folder(const char *path, const char *folder) /* store and restore things {{{ */ +static void dump_int(buffer_t *buf, int i) +{ + buffer_add(buf, &i, sizeof(i)); +} + static const void *restore_int(const char *d, int *i) { memcpy(i, d, sizeof(*i)); @@ -106,12 +111,12 @@ static void dump_cstr(buffer_t *buf, const char *s) int size = 0; if (m_strisempty(s)) { - buffer_add(buf, &size, sizeof(size)); + dump_int(buf, size); return; } size = strlen(s) + 1; - buffer_add(buf, &size, sizeof(size)); + dump_int(buf, size); buffer_add(buf, s, size); } @@ -128,12 +133,12 @@ static void dump_address(buffer_t *buf, address_t *a) { int counter = 0, pos = buf->len; - buffer_add(buf, &counter, sizeof(counter)); + dump_int(buf, counter); for (; a; a = a->next, counter++) { dump_cstr(buf, a->personal); dump_cstr(buf, a->mailbox); - buffer_add(buf, &a->group, sizeof(a->group)); + dump_int(buf, a->group); } memcpy(buf->data + pos, &counter, sizeof(counter)); @@ -162,7 +167,7 @@ static void dump_list(buffer_t *buf, string_list_t *l) int pos = buf->len; int counter = 0; - buffer_add(buf, &counter, sizeof(counter)); + dump_int(buf, counter); for (; l; l = l->next, counter++) { dump_cstr(buf, l->data); @@ -191,7 +196,7 @@ static void dump_parameter(buffer_t *buf, parameter_t *p) { int pos = buf->len, counter = 0; - buffer_add(buf, &counter, sizeof(counter)); + dump_int(buf, counter); for (; p; p = p->next, counter++) { dump_cstr(buf, p->attribute); @@ -264,7 +269,7 @@ static void dump_envelope(buffer_t *buf, ENVELOPE * e) dump_cstr(buf, e->subject); n = e->real_subj ? e->real_subj - e->subject : -1; - buffer_add(buf, &n, sizeof(n)); + dump_int(buf, n); dump_cstr(buf, e->message_id); dump_cstr(buf, e->supersedes); @@ -332,7 +337,7 @@ static buffer_t *mutt_hcache_dump(hcache_t *db, HEADER *h, long uid_validity) uid_validity = time(NULL); } buffer_add(res, &uid_validity, sizeof(uid_validity)); - buffer_add(res, &db->crc, sizeof(db->crc)); + dump_int(res, db->crc); buffer_add(res, h, sizeof(*h)); dump_envelope(res, h->env);