* please see the file GPL in the top level source directory.
*/
+#include <lib-lib/mem.h>
+#include <lib-lib/str.h>
+#include <lib-lib/macros.h>
+#include <lib-lib/file.h>
+
#include "mutt.h"
#ifdef USE_COMPRESSED
#include "mbox.h"
#include "mutt_curses.h"
-#include "lib/mem.h"
-#include "lib/intl.h"
-#include "lib/str.h"
#include "lib/debug.h"
#include <errno.h>
COMPRESS_INFO *ci;
/* Now lets uncompress this thing */
- ci = safe_malloc (sizeof (COMPRESS_INFO));
+ ci = p_new(COMPRESS_INFO, 1);
ctx->compressinfo = (void *) ci;
ci->append = find_compress_hook (M_APPENDHOOK, ctx->path);
ci->open = find_compress_hook (M_OPENHOOK, ctx->path);
/* Uncompress to /tmp */
mutt_mktemp (tmppath);
- ctx->path = safe_malloc (safe_strlen (tmppath) + 1);
- strcpy (ctx->path, tmppath);
+ ctx->path = p_dupstr(tmppath, m_strlen(tmppath));
}
static int get_size (const char *path)
mutt_FormatString (expanded, sizeof (expanded), cmd,
compresshook_format_str, (unsigned long) ctx, 0);
- return safe_strdup (expanded);
+ return m_strdup(expanded);
}
int mutt_check_mailbox_compressed (CONTEXT * ctx)
COMPRESS_INFO *ci = (COMPRESS_INFO *) ctx->compressinfo;
if (ci->size != get_size (ctx->realpath)) {
- FREE (&ctx->compressinfo);
- FREE (&ctx->realpath);
+ p_delete(&ctx->compressinfo);
+ p_delete(&ctx->realpath);
mutt_error _("Mailbox was corrupted!");
return (-1);
if (!ci->open) {
ctx->magic = 0;
- FREE (ctx->compressinfo);
+ p_delete(&ctx->compressinfo);
return (-1);
}
if (!ci->close || access (ctx->path, W_OK) != 0)
if ((fp = fopen (ctx->realpath, "r")) == NULL) {
mutt_perror (ctx->realpath);
- FREE (&cmd);
+ p_delete(&cmd);
return (-1);
}
mutt_block_signals ();
mutt_unblock_signals ();
mutt_error _("Unable to lock mailbox!");
- FREE (&cmd);
+ p_delete(&cmd);
return (-1);
}
if (rc) {
mutt_any_key_to_continue (NULL);
ctx->magic = 0;
- FREE (ctx->compressinfo);
+ p_delete(&ctx->compressinfo);
mutt_error (_("Error executing: %s : unable to open the mailbox!\n"),
cmd);
}
- FREE (&cmd);
+ p_delete(&cmd);
if (rc)
return (-1);
void restore_path (CONTEXT * ctx)
{
- FREE (&ctx->path);
+ p_delete(&ctx->path);
ctx->path = ctx->realpath;
}
return (mutt_open_read_compressed (ctx));
ctx->magic = 0;
- FREE (&ctx->compressinfo);
+ p_delete(&ctx->compressinfo);
return (-1);
}
remove_file (ctx);
restore_path (ctx);
- FREE (&ctx->compressinfo);
+ p_delete(&ctx->compressinfo);
}
}
if ((fp = fopen (ctx->realpath, "a")) == NULL) {
mutt_perror (ctx->realpath);
- FREE (&cmd);
+ p_delete(&cmd);
return (-1);
}
mutt_block_signals ();
store_size (ctx);
- FREE (&cmd);
+ p_delete(&cmd);
return (-1);
}
mutt_unblock_signals ();
fclose (fp);
- FREE (&cmd);
+ p_delete(&cmd);
store_size (ctx);
if ((fp = fopen (ctx->realpath, "a")) == NULL) {
mutt_perror (ctx->realpath);
- FREE (&cmd);
+ p_delete(&cmd);
return (-1);
}
mutt_block_signals ();
mutt_unblock_signals ();
mutt_error _("Unable to lock mailbox!");
- FREE (&cmd);
+ p_delete(&cmd);
return (-1);
}
mutt_error (_
(" %s: Error compressing mailbox! Uncompressed one kept!\n"),
ctx->path);
- FREE (&cmd);
+ p_delete(&cmd);
mbox_unlock_compressed (ctx, fp);
mutt_unblock_signals ();
fclose (fp);
fclose (fp);
remove_file (ctx);
restore_path (ctx);
- FREE (&cmd);
- FREE (&ctx->compressinfo);
+ p_delete(&cmd);
+ p_delete(&ctx->compressinfo);
return (0);
}
mx_t* compress_reg_mx (void) {
- mx_t* fmt = safe_calloc (1, sizeof (mx_t));
+ mx_t* fmt = p_new(mx_t, 1);
fmt->type = M_COMPRESSED;
fmt->local = 1;
fmt->mx_is_magic = mbox_is_magic;