X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=sendlib.c;h=e5bb57fb5da668f4d0799398575aa77831fc2685;hp=032078da6d1b04016f7fcd284d27c64d20cfefee;hb=a742b680bdba8cb47d2b81ab3397cdbec7ed5b69;hpb=774b53097f8c8b62c5101bce8f313d339387a438 diff --git a/sendlib.c b/sendlib.c index 032078d..e5bb57f 100644 --- a/sendlib.c +++ b/sendlib.c @@ -72,8 +72,6 @@ #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) @@ -134,7 +132,7 @@ 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; @@ -550,9 +548,6 @@ static void update_content_info (CONTENT * info, CONTENT_STATE * s, char *d, } -/* 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 @@ -613,8 +608,7 @@ static ssize_t convert_file_to (FILE * file, const char *fromcode, 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; @@ -629,8 +623,6 @@ static ssize_t convert_file_to (FILE * file, const char *fromcode, 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 { @@ -1086,10 +1078,6 @@ static void mutt_set_encoding (BODY * b, CONTENT * info) && 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) < @@ -1098,10 +1086,6 @@ static void mutt_set_encoding (BODY * b, CONTENT * info) else b->encoding = ENCQUOTEDPRINTABLE; } -#if 0 - else - b->encoding = ENC7BIT; -#endif } void mutt_stamp_attachment (BODY * a) @@ -1661,6 +1645,7 @@ static void mutt_gen_localpart(char *buf, unsigned int len, const char *fmt) tm = gmtime (&now); while (*fmt) { + static char MsgIdPfx = 'A'; int c = *fmt++; if (c != '%') { @@ -1826,7 +1811,7 @@ send_msg(const char *path, const char **args, const char *msg, char **tempfile) _exit (S_ERR); } - execv (path, args); + execv (path, (char**)args); _exit (S_ERR); } else if (pid == -1) { @@ -2052,58 +2037,6 @@ int mutt_invoke_mta (address_t * from, /* the sender */ 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) { @@ -2261,18 +2194,18 @@ address_t *mutt_remove_duplicates (address_t * addr) 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;