#include <sys/wait.h>
#include <sys/stat.h>
+#include <lib-lib/mem.h>
+
#include "mutt.h"
#include "ascii.h"
#include "recvattach.h"
}
}
-static void enriched_puts (char *s, struct enriched_state *stte)
+static void enriched_puts (const char *s, struct enriched_state *stte)
{
- char *c;
+ const char *p;
if (stte->buff_len < stte->buff_used + str_len (s)) {
stte->buff_len += LONG_STRING;
mem_realloc (&stte->buffer, stte->buff_len + 1);
}
- c = s;
- while (*c) {
- stte->buffer[stte->buff_used++] = *c;
- c++;
+
+ p = s;
+ while (*p) {
+ stte->buffer[stte->buff_used++] = *p++;
}
}
((s->flags & M_DISPLAY) ? (COLS - 4) : ((COLS - 4) <
72) ? (COLS - 4) : 72);
stte.line_max = stte.WrapMargin * 4;
- stte.line = (char *) mem_calloc (1, stte.line_max + 1);
- stte.param = (char *) mem_calloc (1, STRING);
+ stte.line = p_new(char, stte.line_max + 1);
+ stte.param = p_new(char, STRING);
stte.param_len = STRING;
stte.param_used = 0;
state_putc ('\n', s); /* add a final newline */
- mem_free (&(stte.buffer));
- mem_free (&(stte.line));
- mem_free (&(stte.param));
+ p_delete(&(stte.buffer));
+ p_delete(&(stte.line));
+ p_delete(&(stte.param));
return (0);
}
if (choice) {
if (s->flags & M_DISPLAY && !option (OPTWEED)) {
- fseek (s->fpin, choice->hdr_offset, 0);
+ fseeko (s->fpin, choice->hdr_offset, 0);
mutt_copy_bytes (s->fpin, s->fpout,
choice->offset - choice->hdr_offset);
}
{
struct stat st;
BODY *b;
- long off_start;
+ off_t off_start;
int rc = 0;
- off_start = ftell (s->fpin);
+ off_start = ftello (s->fpin);
if (a->encoding == ENCBASE64 || a->encoding == ENCQUOTEDPRINTABLE ||
a->encoding == ENCUUENCODED) {
fstat (fileno (s->fpin), &st);
state_printf (s, _("[-- Type: %s/%s, Encoding: %s, Size: %s --]\n"),
TYPE (p), p->subtype, ENCODING (p->encoding), length);
if (!option (OPTWEED)) {
- fseek (s->fpin, p->hdr_offset, 0);
+ fseeko (s->fpin, p->hdr_offset, 0);
mutt_copy_bytes (s->fpin, s->fpout, p->offset - p->hdr_offset);
}
else
mutt_sanitize_filename (fname, 1);
rfc1524_expand_filename (entry->nametemplate, fname, tempfile,
sizeof (tempfile));
- mem_free (&fname);
+ p_delete(&fname);
if (entry->command) {
strfcpy (command, entry->command, sizeof (command));
state_printf (s, _("[-- name: %s --]\n"), b->parts->filename);
}
- mutt_copy_hdr (s->fpin, s->fpout, ftell (s->fpin), b->parts->offset,
+ mutt_copy_hdr (s->fpin, s->fpout, ftello (s->fpin), b->parts->offset,
(option (OPTWEED) ? (CH_WEED | CH_REORDER) : 0) |
CH_DECODE, NULL);
}
state_attach_puts (_("[-- and the indicated external source has --]\n"
"[-- expired. --]\n"), s);
- mutt_copy_hdr (s->fpin, s->fpout, ftell (s->fpin), b->parts->offset,
+ mutt_copy_hdr (s->fpin, s->fpout, ftello (s->fpin), b->parts->offset,
(option (OPTWEED) ? (CH_WEED | CH_REORDER) : 0) |
CH_DECODE, NULL);
}
_
("[-- and the indicated access-type %s is unsupported --]\n"),
access_type);
- mutt_copy_hdr (s->fpin, s->fpout, ftell (s->fpin), b->parts->offset,
+ mutt_copy_hdr (s->fpin, s->fpout, ftello (s->fpin), b->parts->offset,
(option (OPTWEED) ? (CH_WEED | CH_REORDER) : 0) |
CH_DECODE, NULL);
}
if (istext) {
if (s->flags & M_CHARCONV) {
- char *charset = mutt_get_parameter ("charset", b->parameter);
+ const char *charset = mutt_get_parameter ("charset", b->parameter);
if (!option (OPTSTRICTMIME) && !charset)
charset = mutt_get_first_charset (AssumedCharset);
}
}
- fseek (s->fpin, b->offset, 0);
+ fseeko (s->fpin, b->offset, 0);
switch (b->encoding) {
case ENCQUOTEDPRINTABLE:
- mutt_decode_quoted (s, b->length, istext, cd);
+ mutt_decode_quoted (s, b->length, istext ||
+ ((WithCrypto & APPLICATION_PGP) &&
+ mutt_is_application_pgp (b)), cd);
break;
case ENCBASE64:
- mutt_decode_base64 (s, b->length, istext, cd);
+ mutt_decode_base64 (s, b->length, istext ||
+ ((WithCrypto & APPLICATION_PGP) &&
+ mutt_is_application_pgp (b)), cd);
break;
case ENCUUENCODED:
- mutt_decode_uuencoded (s, b->length, istext, cd);
+ mutt_decode_uuencoded (s, b->length, istext
+ || ((WithCrypto & APPLICATION_PGP) &&
+ mutt_is_application_pgp (b)), cd);
break;
default:
- mutt_decode_xbit (s, b->length, istext, cd);
+ mutt_decode_xbit (s, b->length, istext
+ || ((WithCrypto & APPLICATION_PGP) &&
+ mutt_is_application_pgp (b)), cd);
break;
}
if (plaintext || handler) {
- fseek (s->fpin, b->offset, 0);
+ fseeko (s->fpin, b->offset, 0);
/* see if we need to decode this part before processing it */
if (b->encoding == ENCBASE64 || b->encoding == ENCQUOTEDPRINTABLE || b->encoding == ENCUUENCODED || plaintext || mutt_is_text_part (b)) { /* text subtypes may
mutt_decode_attachment (b, s);
if (decode) {
- b->length = ftell (s->fpout);
+ b->length = ftello (s->fpout);
b->offset = 0;
fclose (s->fpout);