#include <stdlib.h>
#include <ctype.h>
+#include <lib-lib/mem.h>
+#include <lib-lib/ascii.h>
+#include <lib-lib/str.h>
+
#include "mutt.h"
-#include "ascii.h"
#include "buffer.h"
#include "mutt_curses.h"
#include "imap_private.h"
#include "pgp.h"
#endif
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
+#include <lib-lib/macros.h>
#include "lib/debug.h"
#if HAVE_STDINT_H
mutt_message (_("Evaluating cache... [%d/%d]"), msgno + 1, msgend + 1);
rewind (fp);
- memset (&h, 0, sizeof (h));
- h.data = mem_calloc (1, sizeof (IMAP_HEADER_DATA));
+ p_clear(&h, 1);
+ h.data = p_new(IMAP_HEADER_DATA, 1);
do {
mfhrc = 0;
rewind (fp);
- mem_free (&uid_validity);
+ p_delete(&uid_validity);
}
while ((rc != IMAP_CMD_OK) && ((mfhrc == -1) ||
/* freshen fp, h */
rewind (fp);
- memset (&h, 0, sizeof (h));
- h.data = mem_calloc (1, sizeof (IMAP_HEADER_DATA));
+ p_clear(&h, 1);
+ h.data = p_new(IMAP_HEADER_DATA, 1);
/* this DO loop does two things:
* 1. handles untagged messages, so we can try again on the same msg
return 0;
else {
unlink (cache->path);
- mem_free (&cache->path);
+ p_delete(&cache->path);
}
}
cache->uid = HEADER_DATA (h)->uid;
mutt_mktemp (path);
- cache->path = str_dup (path);
+ cache->path = m_strdup(path);
if (!(msg->fp = safe_fopen (path, "w+"))) {
- mem_free (&cache->path);
+ p_delete(&cache->path);
return -1;
}
safe_fclose (&msg->fp);
if (cache->path) {
unlink (cache->path);
- mem_free (&cache->path);
+ p_delete(&cache->path);
}
return -1;
goto fail;
}
- mem_free (&mx.mbox);
+ p_delete(&mx.mbox);
return 0;
fail:
- mem_free (&mx.mbox);
+ p_delete(&mx.mbox);
return -1;
}
imap_fix_path (idata, mx.mbox, mbox, sizeof (mbox));
- memset (&sync_cmd, 0, sizeof (sync_cmd));
- memset (&cmd, 0, sizeof (cmd));
+ p_clear(&sync_cmd, 1);
+ p_clear(&cmd, 1);
mutt_buffer_addstr (&cmd, "UID COPY ");
/* Null HEADER* means copy tagged messages */
}
if (cmd.data)
- mem_free (&cmd.data);
+ p_delete(&cmd.data);
if (sync_cmd.data)
- mem_free (&sync_cmd.data);
- mem_free (&mx.mbox);
+ p_delete(&sync_cmd.data);
+ p_delete(&mx.mbox);
return 0;
fail:
if (cmd.data)
- mem_free (&cmd.data);
+ p_delete(&cmd.data);
if (sync_cmd.data)
- mem_free (&sync_cmd.data);
- mem_free (&mx.mbox);
+ p_delete(&sync_cmd.data);
+ p_delete(&mx.mbox);
return -1;
}
/* this should be safe even if the list wasn't used */
mutt_free_list (&(((IMAP_HEADER_DATA *) * data)->keywords));
- mem_free (data);
+ p_delete(data);
}
/* imap_set_flags: fill out the message header according to the flags from
IMAP_HEADER newh;
unsigned char readonly;
- memset (&newh, 0, sizeof (newh));
- newh.data = mem_calloc (1, sizeof (IMAP_HEADER_DATA));
+ p_clear(&newh, 1);
+ newh.data = p_new(IMAP_HEADER_DATA, 1);
debug_print (2, ("parsing FLAGS\n"));
if ((s = msg_parse_flags (&newh, s)) == NULL) {
- mem_free (&newh.data);
+ p_delete(&newh.data);
return NULL;
}
mutt_free_list (&(HEADER_DATA (h)->keywords));
HEADER_DATA (h)->keywords = newh.data->keywords;
- mem_free (&newh.data);
+ p_delete(&newh.data);
return s;
}
#ifdef USE_HCACHE
static size_t imap_hcache_keylen (const char *fn)
{
- return str_len (fn);
+ return m_strlen(fn);
}
/* msg_fetch_header: import IMAP FETCH response into an IMAP_HEADER.
flag_list = flag_list->next;
while (flag_list) {
- if (!ascii_strncasecmp (flag_list->data, flag, str_len (flag_list->data)))
+ if (!ascii_strncasecmp (flag_list->data, flag, m_strlen(flag_list->data)))
return 1;
flag_list = flag_list->next;