-int mutt_invoke_mta (address_t * from, /* the sender */
- address_t * to, address_t * cc, address_t * bcc, /* recips */
- const char *msg, /* file containing message */
- int eightbit)
-{ /* message contains 8bit chars */
-#ifdef USE_LIBESMTP
-#ifdef USE_NNTP
- if (!option (OPTNEWSSEND))
-#endif
- if (SmtpHost)
- return mutt_libesmtp_invoke (from, to, cc, bcc, msg, eightbit);
-#endif
-
- 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);
-}
-