static int edit_address_list (int line, address_t ** addr)
{
char buf[HUGE_STRING] = ""; /* needs to be large for alias expansion */
- const char *err = NULL;
+ char *err = NULL;
mutt_addrlist_to_local (*addr);
rfc822_write_address (buf, sizeof (buf), *addr, 0);
if ((op == OP_COMPOSE_EDIT_HEADERS ||
(op == OP_COMPOSE_EDIT_MESSAGE && option (OPTEDITHDRS)))) {
const char *tag = NULL;
- const char *err = NULL;
+ char *err = NULL;
mutt_env_to_local (msg->env);
mutt_edit_headers (NONULL (Editor), msg->content->filename, msg,
int mutt_idna_to_local (const char *, char **, int);
int mutt_local_to_idna (const char *, char **);
-int mutt_addrlist_to_idna (address_t *, const char **);
+int mutt_addrlist_to_idna (address_t *, char **);
int mutt_addrlist_to_local (address_t *);
void mutt_env_to_local (ENVELOPE *);
-int mutt_env_to_idna (ENVELOPE *, const char **, const char **);
+int mutt_env_to_idna (ENVELOPE *, const char **, char **);
const char *mutt_addr_for_display (address_t * a);
#define DISPOSITION(X) X==DISPATTACH?"attachment":"inline"
-static char MsgIdPfx = 'A';
-
static void transform_to_7bit (BODY * a, FILE * fpin);
static void encode_quoted (fgetconv_t * fc, FILE * fout, int istext)
fputs (line, fout);
}
else {
- int savechar = line[linelen - 1];
+ savechar = line[linelen - 1];
line[linelen - 1] = '=';
line[linelen] = 0;
}
-/* Define as 1 if iconv sometimes returns -1(EILSEQ) instead of transcribing. */
-#define BUGGY_ICONV 1
-
/*
* Find the best charset conversion of the file from fromcode into one
* of the tocodes. If successful, set *tocode and CONTENT *info and
ob = bufu, obl = sizeof (bufu);
n = my_iconv(cd1, ibl ? &ib : 0, &ibl, &ob, &obl);
assert (n == -1 || !n);
- if (n == -1 &&
- ((errno != EINVAL && errno != E2BIG) || ib == bufi)) {
+ if (n == -1 && ((errno != EINVAL && errno != E2BIG) || ib == bufi)) {
assert (errno == EILSEQ ||
(errno == EINVAL && ib == bufi && ibl < ssizeof (bufi)));
ret = -1;
ob = bufo, obl = sizeof (bufo);
n = my_iconv(cd[i], (ibl || ubl) ? &ub : 0, &ubl, &ob, &obl);
if (n == -1) {
- assert (errno == E2BIG ||
- (BUGGY_ICONV && (errno == EILSEQ || errno == ENOENT)));
score[i] = -1;
}
else {
&& ascii_strcasecmp (b->subtype, "pgp-keys") == 0)
b->encoding = ENC7BIT;
else
-#if 0
- if (info->lobin || info->hibin || info->binary || info->linemax > 990
- || info->cr || ( /* option (OPTENCODEFROM) && */ info->from))
-#endif
{
/* Determine which encoding is smaller */
if (1.33 * (float) (info->lobin + info->hibin + info->ascii) <
else
b->encoding = ENCQUOTEDPRINTABLE;
}
-#if 0
- else
- b->encoding = ENC7BIT;
-#endif
}
void mutt_stamp_attachment (BODY * a)
tm = gmtime (&now);
while (*fmt) {
+ static char MsgIdPfx = 'A';
int c = *fmt++;
if (c != '%') {
_exit (S_ERR);
}
- execv (path, args);
+ execv (path, (char**)args);
_exit (S_ERR);
}
else if (pid == -1) {
return mutt_invoke_sendmail (from, to, cc, bcc, msg, eightbit);
}
-/* appends string 'b' to string 'a', and returns the pointer to the new
- string. */
-char *mutt_append_string (char *a, const char *b)
-{
- ssize_t la = m_strlen(a);
-
- p_realloc(&a, la + m_strlen(b) + 1);
- strcpy (a + la, b); /* __STRCPY_CHECKED__ */
- return (a);
-}
-
-/* returns 1 if char `c' needs to be quoted to protect from shell
- interpretation when executing commands in a subshell */
-#define INVALID_CHAR(c) (!isalnum ((unsigned char)c) && !strchr ("@.+-_,:", c))
-
-/* returns 1 if string `s' contains characters which could cause problems
- when used on a command line to execute a command */
-int mutt_needs_quote (const char *s)
-{
- while (*s) {
- if (INVALID_CHAR (*s))
- return 1;
- s++;
- }
- return 0;
-}
-
-/* Quote a string to prevent shell escapes when this string is used on the
- command line to send mail. */
-char *mutt_quote_string (const char *s)
-{
- char *r, *pr;
- ssize_t rlen;
-
- rlen = m_strlen(s) + 3;
- pr = r = p_new(char, rlen);
- *pr++ = '"';
- while (*s) {
- if (INVALID_CHAR (*s)) {
- ssize_t o = pr - r;
-
- p_realloc(&r, ++rlen);
- pr = r + o;
- *pr++ = '\\';
- }
- *pr++ = *s++;
- }
- *pr++ = '"';
- *pr = 0;
- return (r);
-}
-
/* For postponing (!final) do the necessary encodings only */
void mutt_prepare_envelope (ENVELOPE * env, int final)
{
address_t *top = addr;
address_t **last = ⊤
address_t *tmp;
- int dup;
+ int dodup = 0;
while (addr) {
- for (tmp = top, dup = 0; tmp && tmp != addr; tmp = tmp->next) {
+ for (tmp = top; tmp && tmp != addr; tmp = tmp->next) {
if (tmp->mailbox && addr->mailbox &&
!ascii_strcasecmp (addr->mailbox, tmp->mailbox)) {
- dup = 1;
+ dodup = 1;
break;
}
}
- if (dup) {
+ if (dodup) {
*last = addr->next;
addr->next = NULL;